Я использую SQL Server 2008 Management Studio. Текущая учетная запись для входа принадлежит группе локальных администраторов компьютера. Я использую режим встроенной безопасности Windows в SQL Server 2008.
Моя проблема в том, что после входа в SQL Server Management Studio я выбираю свое имя для входа в разделе Безопасность / Логины, затем выбираю вкладку Server Roles, затем выбираю последний элемент - sysadmin, чтобы я принадлежал к этой группе / роли, но он говорит, что я не хватает разрешения. Есть идеи, что не так? Я думаю, что у локального администратора должно быть все, что угодно. :-)
У входа в сеанс, в котором вы пытаетесь установить разрешения, должны быть разрешения.
Итак, вы используете логин локального администратора? Это означает, что у локальной группы администраторов недостаточно прав.
Графический интерфейс тоже будет запускать это sp_addsrvrolemember. Хотя это говорит
Требуется членство в роли, к которой добавляется новый участник.
Итак, группа локальных администраторов не является членом сисадмина.
Редактировать:
Для решения: Используйте логин с правами. вы можете найти его, используя sp_helpsrvrolemember
В остальной хорошей статье Устранение неполадок: подключение к SQL Server, когда системные администраторы заблокированы, автор сообщает нам, что все, что нам нужно сделать, чтобы восстановить контроль над нашим SQL Server, - это
«Запустите экземпляр SQL Server в однопользовательском режиме, используя параметры -m или -f. После этого любой член локальной группы администраторов компьютера может подключиться к экземпляру SQL Server как член фиксированной роли сервера sysadmin. "
К сожалению, то, что означает запуск в однопользовательском режиме, не является интуитивным вопросом. Кроме того, по крайней мере, по моему опыту, членство в локальной группе администраторов моего компьютера не давало моей учетной записи «пользователя» статус системного администратора.
Эта история началась, когда, чтобы решить проблему членства в моем домене сервера, отличного от DC (следствие смены ISP), я перестроил DC в Windows Server 2008 R2 с 2008 года. Это решило несколько мелких проблем, но не решило вопрос о членстве ошибочного сервера. Для этого потребовалось исправление, предложенное в ServerFault (в моем случае это был вопрос сброса winsock и tcpip).
SQL Server 2008 находится на этом втором сервере, который теперь является членом домена. Вот в чем проблема. Как кто-то указывает на ServerFault, при установке Server 2008 обычно нажимают «разрешить текущему пользователю стать системным администратором». Также распространено не рассматривать никого другого. Поскольку это единственное удостоверение пользователя было членом домена, которого больше не существовало, ни у кого не было разрешения на администрирование сервера Sql.
Я вошел в систему как администратор локального сервера, который был при установке 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, чтобы остановить «Sql Server».
Затем в командной строке перейдите к этому расположению файла программы (или его эквиваленту на вашем компьютере) и введите команду «sqlservr.exe -m». Если вы видите поток активности, зарегистрированный в вашей командной строке, вы добились успеха. Если он не запускается, возможно, у вас уже работает SQL Server. Закрой это.
Разрешите однопользовательскому экземпляру подключать свои базы данных. Когда активность журнала прекратится, откройте Management Studio. Вы автоматически перейдете в однопользовательский режим, и поэтому любая учетная запись, которую вы представляете, будет системным администратором. Используйте эту возможность для настройки учетных записей безопасности и ролей сервера.
В моем случае мне пришлось воссоздать учетные записи домена в новом домене, затем удалить их однофамильцы в SQL Server и восстановить их (из-за ситуации с SID / GUID), переназначив разрешения для определенных баз данных по мере необходимости.
SQL Server 2008 больше не добавляет BUILTIN \ Administrators в качестве членов фиксированной серверной роли sysadmin.
Это правда, НО в этом случае вы можете выйти из этой ситуации, запустив службу SQL Server в однопользовательском режиме (аварийный режим), и любой локальный администратор сможет войти в систему.
Видеть MSDN.
По умолчанию SQL добавляет группу BUILTIN \ Administrators к роли sysadmin, что означает, что любой локальный администратор NT автоматически становится системным администратором SQL. В Vista из-за UAC вы должны работать в режиме «как администратор», чтобы воспользоваться этой привилегией.
По умолчанию SQL Server 2008 больше не добавляет BUILTIN \ Administrators в качестве членов фиксированной серверной роли sysadmin. Когда вы проходите через установщик, он спрашивает, какая учетная запись или учетные записи должны иметь права системного администратора. Там есть кнопка, которая в основном говорит «Сделайте меня системным администратором», которая добавит учетную запись пользователя, выполняющего установку, в качестве системного администратора.
Если они не добавляли других пользователей в качестве системных администраторов, тогда только этот пользователь в настоящее время является системным администратором. Вам нужно, чтобы этот человек вошел в SQL Server и предоставил права администратора базы данных.
Я размышлял над той же проблемой после новой установки, пока не зарегистрировал сервер на SQL Server 2008, а затем все пошло так, как должно.