В другой хорошей статье Устранение неполадок: подключение к SQL Server, когда системные администраторы заблокированы , автор говорит нам, что все, что нам нужно сделать, чтобы восстановить контроль над нашим SQL Server, это
«Запустите экземпляр SQL Server в однопользовательском режиме с помощью параметров -m или -f. После этого любой член локальной группы« Администраторы »компьютера может подключиться к экземпляру SQL Server в качестве члена фиксированной серверной роли sysadmin. "
К сожалению, смысл запуска в однопользовательском режиме не является интуитивно понятным. Также, по моему опыту, членство в локальной группе администраторов моего компьютера не давало статус sysadmin моей учетной записи «user».
Эта история началась, когда для решения проблемы членства в моем домене не-DC-сервером (следствие смены ISP) я перестроил DC в Windows Server 2008 R2 с 2008 года. Это решило пару мелких проблем, но не решило проблему. вопрос о членстве ошибочным сервером. Для этого потребовалось исправление, предложенное в ServerFault (в моем случае это был вопрос сброса winsock и tcpip).
SQL Server 2008 находится на этом втором сервере, который теперь является членом домена. Здесь проблема. Как кто-то указывает на ServerFault, при установке Server 2008 часто нажимают кнопку «позволить текущему пользователю стать системным администратором». Обычно также не учитывают никого другого. Поскольку этот идентификатор одного пользователя был членом домена, которого больше не существовало, никто не имел разрешения на администрирование Sql Server.
Я вошел в систему как администратор локального сервера, который был рядом, когда был установлен Sql Server, но, хотя это позволило мне получить доступ к Management Studio, я быстро обнаружил, что BUILTIN \ Administrators играют только «общедоступную» роль сервера.
После долгих исследований и экспериментов я наткнулся на статью, в которой описываются особенности однопользовательского входа в систему http://technet.microsoft.com/en-us/library/ms180965.aspx :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
C:\...>sqlservr.exe -m
Чтобы подготовиться к этому шагу, вы должны выключить Sql Server (который в большинстве случаев работает по умолчанию). Используйте SQL Configuration Manager, чтобы остановить «Sql Server».
Затем в командной строке перейдите к расположению этого программного файла (или эквивалентному на вашем компьютере) и введите команду «sqlservr.exe -m». Если вы видите поток активности, зарегистрированный в командной строке, вы добились успеха. Если он не запускается, возможно, у вас уже запущен SQL Server. Закрой это.
Разрешить однопользовательскому экземпляру присоединять свои базы данных. Когда активность журнала прекратится, откройте Management Studio. Вы будете автоматически в однопользовательском режиме, и, следовательно, любая учетная запись, которую вы представляете, будет системным администратором. Используйте эти возможности для настройки имен безопасности и ролей сервера.
В моем случае мне пришлось воссоздать учетные записи домена в новом домене, затем удалить их тезки в SQL Server и восстановить их (из-за ситуации с SID / GUID), переназначая разрешения для определенных баз данных по мере необходимости.