Назад | Перейти на главную страницу

Отказано в разрешении на обновление, не может предоставить собственное разрешение db_datawriter, несмотря на то, что он является администратором в поле

Я в группе администраторов на сервере базы данных Windows 2008.

Мое имя пользователя отображается в разделе «Безопасность» -> «Имена входа» в SQL Server Management Studio и в разделе «Свойства» -> «Роли сервера». Я вижу, что у меня есть только «общедоступная» роль. В разделе «Сопоставление пользователей» я являюсь участником ролей «db_datareader» и «public».

Мне нужно добавить себя к роли «db_datawriter». При попытке я получаю сообщение об ошибке 15247 - у пользователя нет разрешения на выполнение этого действия.

Могу ли я что-нибудь сделать, чтобы получить эту роль? Как администратор Windows на коробке я думал, что это возможно ...

Заранее спасибо за помощь очень неординарному разработчику :)

Вы можете добавить себя, даже если вы не являетесь системным администратором SQL Server, но входите в группу администраторов.

  1. Запустите SQL в одиночном режиме: в диспетчере конфигурации SQL -> выберите службу SQL Server -> -> перейдите в раздел «Дополнительно» -> перейдите к параметрам запуска -> добавьте «; –m» в конец списка в Опция «Параметры запуска».
  2. запустить командную строку и подключиться к SQL через sqlcmd с использованием проверки подлинности Windows.

sqlcmd -S ИМЯ СЕРВЕРА -E

  1. ВВЕДИТЕ:

EXEC sp_addsrvrolemember 'DOMAIN \ YOURNAME', 'sysadmin';

ИДТИ

В SQL Server 2008 администраторы Windows больше не являются администраторами SQL Server по умолчанию. Вам придется попросить кого-нибудь изменить ваши разрешения.

http://msdn.microsoft.com/en-us/library/cc280562(v=SQL.100).aspx

Я попытался использовать вышеуказанный подход для SQLExpress, но безрезультатно. По какой-то причине добавление -m флаг к Параметры запуска приводил к сбою SQLExpress при запуске. Итак, я немного поискал и нашел это Сообщение блога который, казалось, делал трюк с получением SQLExpress в Однопользовательский режим, а затем выполнил шаги юрушки по добавлению пользователя.

  1. Остановить SQL Express

    NET STOP MSSQL$SQLEXPRESS
    
  2. Запустить SQL Express

    NET START MSSQL$SQLEXPRESS /m
    
  3. Откройте окно командной строки и войдите в SQLExpress.

    sqlcmd -S SERVERNAME -E 
    
  4. Добавить пользователя

    EXEC sp_addsrvrolemember 'DOMAIN\YOURNAME', 'sysadmin';
    GO