Можно ли получить пользователя, который последний раз редактировал сохраненный процесс, функцию, таблицу или представление в SQL Server? - PullRequest
6 голосов
/ 18 января 2010

Я даже не уверен, что SQL Server хранит такую ​​информацию, но возможно ли получить имя пользователя, который последний раз изменял определенную хранимую процедуру, функцию, таблицу или представление?

Ничего критичного, просто интересно. Спасибо!

Ответы [ 3 ]

1 голос
/ 18 января 2010

Если вы используете SQL Server 2008, вы можете использовать некоторые новые функции, которые позволяют вам устанавливать триггеры на изменения DDL. Затем вы можете отслеживать, основываясь на аутентифицированном пользователе, который внес изменение.

Я думаю, что эти триггеры являются новыми для SQL 2008, но они могут быть доступны в 2005 году.

Сказав это, в идеале вы должны иметь схему базы данных под контролем исходного кода, используя такой инструмент, как Visual Studio Database Professional. Тогда у тебя будет полная история того, кто что сделал и когда.

Randy

1 голос
/ 21 января 2010

Определенно поместите триггеры DDL на место. Даже если вы в конечном итоге не используете их, или если вы в конечном итоге создаете приличную систему контроля версий, все равно оставьте триггеры DDL на месте, чтобы вы могли быть уверены в том, что происходит.

1 голос
/ 18 января 2010

Не хранит эту информацию из коробки.

Вы можете использовать уведомление о трассировке и событии SQL (см. Соответствующую статью MSDN ), чтобы самостоятельно регистрировать такую ​​информацию.

Хотя у меня нет опыта использования этих технологий ...

...