SQL Server 2005 - права пользователя - PullRequest
1 голос
/ 01 апреля 2010

Я создал одного пользователя с именем «tuser» с правами на создание базы данных в SQL Server 2005. и задал роль базы данных 'db_owner' в базе данных master и msdb как "tuser".

Из этого логина пользователя, когда я запускаю скрипт для создания базы данных, он создает новую базу данных. Но у пользователя "tuser" нет доступа к вновь созданной базе данных, сгенерированной из скрипта.

У кого-нибудь есть идеи ?, я хочу написать скрипт, чтобы "tuser" имел доступ к этой новой созданной базе данных после создания и мог добавить разрешение пользователя для вновь созданной базы данных.

Я хочу передать роли базы данных 'db_owner' tuser в этой вновь созданной базе данных в том же сценарии, который создает новую базу данных. Скрипт запускается под 'tuser'.

Ответы [ 4 ]

2 голосов
/ 01 апреля 2010

Предоставить securityadmin роль сервера [tuser]

Исправлена ​​ошибка с членами securityadmin роль сервера управлять логинами и их свойства. Они могут предоставить, отказать и ОТМЕНИТЬ разрешения на уровне сервера. Oни может также GRANT, DENY и REVOKE разрешения на уровне базы данных. Кроме того, они могут сбросить пароли для входа в SQL Server.

1 голос
/ 01 апреля 2010

Если tuser не имеет доступа к новой базе данных, это означает, что он не является владельцем. Владельцу базы данных не может быть отказано в доступе к его / ее собственной базе данных.

  • Как выглядит оператор CREATE DATABASE? Есть ли у вас предложение AUTHORIZATION, которое изменит владельца базы данных для новой базы данных?
  • Кто является фактическим владельцем новой базы данных? Чек SELECT name, SUSER_SNAME(owner_sid) FROM sys.databases;
1 голос
/ 01 апреля 2010

СОЗДАТЬ БАЗУ ДАННЫХ говорит

У каждой базы данных есть владелец, который может выполнять специальные мероприятия в база данных. Владелец - это пользователь, который создает базу данных. База данных Владелец может быть изменен с помощью sp_changedbowner (Transact-SQL).

Таким образом, администратор уже должен владеть БД.

Однако вы можете установить tuser как db_owner в модели db, которая используется в качестве шаблона для каждого создания базы данных

Кстати, зачем делать tuser владельцем master и msdb?

0 голосов
/ 15 апреля 2010

Спасибо за ваш вклад.

я дал доступ tuser к базе данных из новой созданной базы данных. теперь проблема решена.

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...