2010-12-07 5 views
0

Есть ли способ проверить, кто был последним человеком или списком людей, которые обновляют данный процесс на SQL Server 2008? Есть ли встроенная служебная команда, панель мониторинга или сторонний инструмент, который может обеспечить это понимание?, который обновил хранимую процедуру?

Благодаря

+1

У вас есть отдельные имена пользователей на вашем сервере sql? – 2010-12-07 18:42:19

+0

Я уверен, что этот вопрос должен решить проблему, которая уже произошла, и @Will A дает решение для этого для ближайших изменений, однако я видел, что реализовано следующее, которое позволяет сохранять журнал изменений схемы в долгосрочной перспективе: http : //www.sqlteam.com/article/using-ddl-triggers-in-sql-server-2005-to-capture-schema-changes – 2010-12-07 18:57:30

ответ

1

Щелкните правой кнопкой мыши на узле базы данных в SSMS, выберите Отчеты> Стандартные отчеты> Изменения схемы История. Это даст вам список изменений - однако, если изменения не были сделаны в последнее время, вы, возможно, не сможете найти его в этом отчете - он не показывает «все изменения, когда-либо»!

0

Ваш вопрос указывает на то, что у вас есть несколько проблем, которые необходимо решить.

Сначала вы должны использовать источник управления и сохранять все изменения в procs в нем. Затем вы можете увидеть, кто внес изменения и сможет вернуться к предыдущим версиям.

Далее, если эта проблема возникла при производстве, вам необходимо ограничить права на производство только дБА, а людям назначена роль управления конфигурацией (любой конфигурационный pepeople, dbas или менеджеры). Разработчики приложений не должны иметь никаких прав на создание или обновление объектов на prod.

Вы также можете настроить триггер для мониторинга и записи всех изменений в базы данных. Посмотрите триггеры DDL.

@Will A дает вам краткосрочное решение, но оно может быть недействительным для исследований, которые вам нужны, если изменение не было последним.

Смежные вопросы