
Я создал пользователя с правами чтения для всех баз данных, созданных приложением, чтобы запускать отчеты. Проблема в том, что это приложение создает новую базу данных для каждого нового проекта.
Есть ли способ, чтобы этот пользователь автоматически получал права на чтение каждой новой базы данных, созданной на этом сервере?
Спасибо
решение1
Предполагая, что экземпляр SQL Server используется только для этого приложения, вы можете добавить пользователя в базу данных модели с теми же разрешениями. Модель используется как... модель для всех новых баз данных.
решение2
Используйте триггер DDL для CREATE_DATABASE, см.http://technet.microsoft.com/en-us/library/ms186406.aspxдля записи строки в таблицу в базе данных, которая останется постоянной. Затем создайте задание SQL Agent, которое ищет новые строки в этой таблице и выполняет оператор GRANT для предоставления прав. После этого отметьте строку как «выполненную».
С помощью этого решения вы по-прежнему можете фильтровать базы данных, к которым вы хотите применить действие.