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

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

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

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

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

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

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

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

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

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

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

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

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

то есть?
...
Рейтинг: 0 / 0
Вопрос про Microsoft SQL Server Studio
    #39584384
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем разобрался. Еще в аксапте работаю. Имя таблицы в аксапте не соответсвует имени таблицы в Microsoft SQL Server. Поэтому сперва подумал может кто то удалил таблицу и в связи с этим появился вопрос.
...
Рейтинг: 0 / 0
Вопрос про Microsoft SQL Server Studio
    #39584516
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вопрос про Microsoft SQL Server Studio
    #39584565
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вопрос про Microsoft SQL Server Studio
    #39584575
user11111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikkДаже если на сервере, то тогда как можно узнать?
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/default-trace-enabled-server-configuration-option
...
Рейтинг: 0 / 0
Вопрос про Microsoft SQL Server Studio
    #39584604
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин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
Вопрос про Microsoft SQL Server Studio
    #39584932
Alexander Us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkЗдравствуйте!

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

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



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

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


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