Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про Microsoft SQL Server Studio / 18 сообщений из 18, страница 1 из 1
15.01.2018, 08:58
    #39584158
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Здравствуйте!

Скажите, Microsoft SQL Server Studio фиксирует, что какие то таблицы добавлялись или удалялись? То есть возможно ли узнать что какая таблица была удалена, а также кем удалена?
...
Рейтинг: 0 / 0
15.01.2018, 09:06
    #39584160
Кусочек
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Вы имеете ввиду SQL Server Management Studio (SSMS)?

Тогда ответ - нет.

SSMS - это всего лишь одно из клиентских приложений.

Создаются и удаляются таблицы на сервере.
...
Рейтинг: 0 / 0
15.01.2018, 09:08
    #39584162
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Даже если на сервере, то тогда как можно узнать?
...
Рейтинг: 0 / 0
15.01.2018, 09:09
    #39584166
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkЗдравствуйте!

Скажите, Microsoft SQL Server Studio фиксирует, что какие то таблицы добавлялись или удалялись? То есть возможно ли узнать что какая таблица была удалена, а также кем удалена?
SSMS - это клиент . Он формирует напечатанный Вами текст и преобразует в команду "drop table". Сооветственно - если у Вас включена каким-либо образом история Ваших запросов, то у злоумышленника, который стер таблицу, история или выключена, или стерта, или он вообще не через SSMS таблицу удалил.

Поэтому правильный вопрос - как организовать логирование DDL и DCL команд на сервере для нужной базы данных, не включая лишнее логирование для DML команд. Это можно найти поиском в этой ветке форума. Удачи.

P.S.
А таки еще более правильный вопрос - как правильно отобрать у потенциальных злоумышленников права на удаление нужных таблиц,
оставив минимально допустимые для работы.
...
Рейтинг: 0 / 0
15.01.2018, 09:10
    #39584170
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkДаже если на сервере, то тогда как можно узнать?
Никак. Если таблица стерта - ищите ее в бэкапе. Если человек имел право удалить таблицу - значит, он владелец БД и может в своем праве делать с ней все, что хочет. И почему Вы решили контролировать его действия - непонятно...
...
Рейтинг: 0 / 0
15.01.2018, 09:13
    #39584173
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkТо есть возможно ли узнать что какая таблица была удалена, а также кем удалена ?
Таблица удалена человеком, у которого есть права на удаление таблицы. Логично? Такой человек должен быть один. Если их много, и они не могут между собой договориться, кто и что удаляет - это ситуация "у семи нянек дитя без глазу". И это решается не включением логирования (постфактум), а вдумчивым разграничением прав доступа (превентивные действия).

Перевожу на русский язык - "поздно пить боржоми, когда почки отказали".
...
Рейтинг: 0 / 0
15.01.2018, 09:15
    #39584174
Кусочек
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkДаже если на сервере, то тогда как можно узнать?

Не путайте сервер баз данных и клиентскую программу (не важно где она запущенна) для удобного визуального управления им.

Как сделать Andy_OLAP уже Вам ответил.

Andy_OLAPПоэтому правильный вопрос - как организовать логирование DDL и DCL команд на сервере для нужной базы данных, не включая лишнее логирование для DML команд. Это можно найти поиском в этой ветке форума. Удачи.

P.S.
А таки еще более правильный вопрос - как правильно отобрать у потенциальных злоумышленников права на удаление нужных таблиц,
оставив минимально допустимые для работы.
...
Рейтинг: 0 / 0
15.01.2018, 09:32
    #39584184
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
База данных не рабочая, а тестовая.
...
Рейтинг: 0 / 0
15.01.2018, 09:33
    #39584185
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Спасибо!
...
Рейтинг: 0 / 0
15.01.2018, 12:44
    #39584329
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Andy_OLAPferzmikkДаже если на сервере, то тогда как можно узнать?
Никак. Если таблица стерта - ищите ее в бэкапе. Если человек имел право удалить таблицу - значит, он владелец БД и может в своем праве делать с ней все, что хочет. И почему Вы решили контролировать его действия - непонятно...

то есть?
...
Рейтинг: 0 / 0
15.01.2018, 13:32
    #39584384
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
В общем разобрался. Еще в аксапте работаю. Имя таблицы в аксапте не соответсвует имени таблицы в Microsoft SQL Server. Поэтому сперва подумал может кто то удалил таблицу и в связи с этим появился вопрос.
...
Рейтинг: 0 / 0
15.01.2018, 15:39
    #39584516
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
256kAndy_OLAPпропущено...

Никак. Если таблица стерта - ищите ее в бэкапе. Если человек имел право удалить таблицу - значит, он владелец БД и может в своем праве делать с ней все, что хочет. И почему Вы решили контролировать его действия - непонятно...

то есть?
Расшифрую. Есть таблица table_1. И есть человек, который имеет право удалить только ее одну. И ничего более. В БД есть логика, которая с помощью dynamic sql на лету записывает в table_2, table_3 и так далее что-то из table_1. И как только ее удалили - все сломалось. И не отловить, потому что set @string = N'insert into table_3 (...) select ... from table_'+convert(nvarchar(1),@id1)+',table_'+convert(nvarchar(1),@id2).
И получается, что этот человек - владелец БД, потому что всех "держит за яйца" своей недрогнувшей рукой. Вот такой некошерный расклад.

Но все хорошо, что хорошо заканчивается - у автора темы база тестовая, а не боевая, сейчас он на ней права доступа обкатает и колючим забором все ценное внутри обнесет. Плюс к этому таблица не потерялась, просто название перепутал он.
...
Рейтинг: 0 / 0
15.01.2018, 16:20
    #39584565
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Andy_OLAP256kпропущено...


то есть?
Расшифрую. Есть таблица table_1. И есть человек, который имеет право удалить только ее одну. И ничего более. В БД есть логика, которая с помощью dynamic sql на лету записывает в table_2, table_3 и так далее что-то из table_1. И как только ее удалили - все сломалось. И не отловить, потому что set @string = N'insert into table_3 (...) select ... from table_'+convert(nvarchar(1),@id1)+',table_'+convert(nvarchar(1),@id2).
И получается, что этот человек - владелец БД , потому что всех "держит за яйца" своей недрогнувшей рукой. Вот такой некошерный расклад.

Но все хорошо, что хорошо заканчивается - у автора темы база тестовая, а не боевая, сейчас он на ней права доступа обкатает и колючим забором все ценное внутри обнесет. Плюс к этому таблица не потерялась, просто название перепутал он.


Т.е. логика: если юзер имеет право удалить таблицу - значит он владелец БД?
...
Рейтинг: 0 / 0
15.01.2018, 16:29
    #39584575
user11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkДаже если на сервере, то тогда как можно узнать?
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/default-trace-enabled-server-configuration-option
...
Рейтинг: 0 / 0
15.01.2018, 17:03
    #39584604
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Ролг ХупинAndy_OLAPпропущено...

Расшифрую. Есть таблица table_1. И есть человек, который имеет право удалить только ее одну. И ничего более. В БД есть логика, которая с помощью dynamic sql на лету записывает в table_2, table_3 и так далее что-то из table_1. И как только ее удалили - все сломалось. И не отловить, потому что set @string = N'insert into table_3 (...) select ... from table_'+convert(nvarchar(1),@id1)+',table_'+convert(nvarchar(1),@id2).
И получается, что этот человек - владелец БД , потому что всех "держит за яйца" своей недрогнувшей рукой. Вот такой некошерный расклад.

Но все хорошо, что хорошо заканчивается - у автора темы база тестовая, а не боевая, сейчас он на ней права доступа обкатает и колючим забором все ценное внутри обнесет. Плюс к этому таблица не потерялась, просто название перепутал он.


Т.е. логика: если юзер имеет право удалить таблицу - значит он владелец БД?
Владелец в понимании SQL - это db_owner, а тут речь о совладельце. Если имеет право базу порушить вместе с ее логикой работы - значит, владелец. Не придирайтесь к терминологии, Вы же поняли, о чем речь идет.
...
Рейтинг: 0 / 0
16.01.2018, 11:33
    #39584932
Alexander Us
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
ferzmikkЗдравствуйте!

Скажите, Microsoft SQL Server Studio фиксирует, что какие то таблицы добавлялись или удалялись? То есть возможно ли узнать что какая таблица была удалена, а также кем удалена?

How to find user who ran DROP or DELETE statements on your SQL Server Objects
...
Рейтинг: 0 / 0
16.01.2018, 11:45
    #39584941
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Alexander Us How to find user who ran DROP or DELETE statements on your SQL Server Objects
кроме того, что искать в логе базы в простой модели события дней минувших -- занятие бессмысленное,
не подскажете, как именно идентифицировть дропнутую таблицу?
допустим, у меня 100 таблиц были удалены разными личностями,
я поищу в логе на [Transaction Name] = 'DROPOBJ', получу 100 строк.
и как мне из них выбрать именно ту, что к моей таблице относится?
...
Рейтинг: 0 / 0
16.01.2018, 12:23
    #39584980
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про Microsoft SQL Server Studio
Andy_OLAPРолг Хупинпропущено...



Т.е. логика: если юзер имеет право удалить таблицу - значит он владелец БД?
Владелец в понимании SQL - это db_owner, а тут речь о совладельце. Если имеет право базу порушить вместе с ее логикой работы - значит, владелец. Не придирайтесь к терминологии , Вы же поняли, о чем речь идет.

Вы сбиваете с ритма весь квартал (ц)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про Microsoft SQL Server Studio / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]