Я в группе администраторов на сервере базы данных Windows 2008.
Мое имя пользователя отображается в разделе «Безопасность» -> «Имена входа» в SQL Server Management Studio и в разделе «Свойства» -> «Роли сервера». Я вижу, что у меня есть только «общедоступная» роль. В разделе «Сопоставление пользователей» я являюсь участником ролей «db_datareader» и «public».
Мне нужно добавить себя к роли «db_datawriter». При попытке я получаю сообщение об ошибке 15247 - у пользователя нет разрешения на выполнение этого действия.
Могу ли я что-нибудь сделать, чтобы получить эту роль? Как администратор Windows на коробке я думал, что это возможно ...
Заранее спасибо за помощь очень неординарному разработчику :)
Вы можете добавить себя, даже если вы не являетесь системным администратором SQL Server, но входите в группу администраторов.
sqlcmd -S ИМЯ СЕРВЕРА -E
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 в Однопользовательский режим, а затем выполнил шаги юрушки по добавлению пользователя.
Остановить SQL Express
NET STOP MSSQL$SQLEXPRESS
Запустить SQL Express
NET START MSSQL$SQLEXPRESS /m
Откройте окно командной строки и войдите в SQLExpress.
sqlcmd -S SERVERNAME -E
Добавить пользователя
EXEC sp_addsrvrolemember 'DOMAIN\YOURNAME', 'sysadmin';
GO