Почему у меня нет разрешения на изменение этого пароля SQL Server Express 2005? - PullRequest
2 голосов
/ 15 января 2010

У меня есть доступ к установке SQL 2005 Express. Я, вероятно, установил это сам некоторое время назад. Но давно не пользовался им.

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

Однако этот пароль не работал.

Я дважды проверил, что аутентификация в смешанном режиме настроена и что пользователь sa существует.

Я могу получить доступ к экземпляру через проверку подлинности Windows и запросить чёрт из БД (даже мастера). Нет проблем.

Затем я попытался сбросить пароль sa, используя этот sql:

ALTER LOGIN sa WITH PASSWORD = 'MyNewPassword';

Оперативно происходит сбой с этой ошибкой:

Cannot alter the login 'sa', because it does not exist or you do not have permission.

Так почему мой локальный пользователь Windows не имеет разрешения на это?

Ответы [ 2 ]

1 голос
/ 26 ноября 2013

Я знаю, что это старый пост, но все же нашел его, когда искал ответ на свой вопрос.

2 варианта здесь:

  1. однопользовательский режим
  2. PSExec с использованием NT Authority \ System

Вариант 1: (из сообщения в блоге)

  • Откройте диспетчер конфигурации SQL Server на компьютере, на котором размещена база данных
  • Нажмите на службы SQL Server
  • Щелкните нужный экземпляр SQL Server и щелкните правой кнопкой мыши, чтобы перейти к свойствам
  • В таблице Advance введите параметр ‘-m;‘ перед существующими параметрами в поле «Параметры запуска».
  • Теперь используйте SQLCmd для добавления нового пользователя в базу данных с привилегиями Sysadmin.
    • Это сообщение в блоге technet очень полезно для получения необходимых команд и синтаксиса SQLCmd
    • Откройте командную строку и перейдите в папку «BINN»
    • Обычно находится по адресу C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
    • Это местоположение меняется в зависимости от вашей конфигурации
    • Используйте следующую команду для вызова SQLCmd:
    • SQLCMD –S <Server_Name\Instance_Name>
    • В моем случае это было SQLCMD -S SPExternal\Sharepoint - имя моего компьютера \ имя экземпляра базы данных
    • Теперь используйте следующую последовательность команд для создания новой учетной записи администратора sys:
    • Нажмите ввод после каждой строки

1> CREATE LOGIN ‘<Login_Name>’ with PASSWORD=’<Password>’

2> go

1> SP_ADDSRVROLEMEMBER '', 'SYSADMIN'`

2>go

Наконец, выведите сервер из однопользовательского режима, изменив начальные 4 шага, описанные выше. Подключитесь, используя новый логин.

Вариант 2: использовать PSExec для входа в систему как NT Authority \ System

  • Загрузите PSExec.exe и поместите в Windows \ System 32
  • Откройте командную строку от имени администратора.
  • Выполните SSMS из командной строки на компьютере с базой данных SQL, используя следующую команду
    • PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
    • Обратите внимание, что путь к SSMS может отличаться в зависимости от конфигурации вашей системы
  • Есть несколько других предостережений, перечисленных в оригинальной статье, указанной выше.
    • UAC, возможно, нужно отключить (работает нормально, у меня все еще включено)
    • Ваш аккаунт должен быть локальным администратором для этой работы
    • Может или не может работать удаленно

Вариант 2 был , на который изначально ссылался этот ответ DBA SE - спасибо человеку, который его нашел.

1 голос
/ 15 января 2010

Вы выполнили эти шаги?

Вы вошли в систему как тот же пользователь-администратор, который установил службу в первую очередь, или локальный администратор? Умение читать - это один уровень разрешения. Возможность изменять данные и особенно объекты уровня сервера - это еще один набор полномочий. То, что вы умеете читать, не означает, что вы сможете писать.

Если не удается использовать разные учетные записи администратора, вы всегда можете взломать пароль sa с помощью инструмента восстановления

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