Забыли пароль SQL Server

Я установил SQL Server 2005 некоторое время назад и забыл пароль администратора, который я установил во время установки. Как я могу подключиться к SQL-серверу сейчас?

РЕДАКТИРОВАТЬ: Я думаю, что разрешил только аутентификацию сервера Sql. Вход со встроенной системой безопасности также не работает.

Ответы

Ответ 1

Попробуйте запустить следующие команды в командной строке (при условии, что ваше имя сервера SQLEXPRESS):

osql -E -S .\SQLEXPRESS
exec sp_password @new='changeme', @loginame='sa'
go
alter login sa enable
go
exit

После выполнения этих шагов попробуйте войти в систему с именем пользователя sa и паролем changeme.

Ответ 2

Вам не нужно платить за любые инструменты reset, чтобы сделать это. Запустите экземпляр в однопользовательском режиме, и вы можете создать новый логин с разрешениями sysadmin/

Смотрите ссылка Pinal Dave.

Ответ 3

Большое спасибо cowgod

Он работает отлично. Я зарегистрировался на SQL Server с помощью режима проверки подлинности Windows. Затем открылось новое окно запроса. Там я набрал эти две команды, нажав F5.

Первый запуск exec sp_password @new = 'changeme', @loginame = 'sa'

Тогда alter login sa enable

Ответ 4

Если нет другого пользователя с привилегиями sysadmin, но sa, SQL Server должен быть перезапущен с параметром -m для однопользовательского режима. Затем вы можете подключиться к этому экземпляру SQL Server, и вы можете добавить других пользователей с ролью sysadmin или выполнить exec sp_password.

Pinal Dave объясняет здесь http://blog.sqlauthority.com/2009/02/10/sql-server-start-sql-server-instance-in-single-user-mode/ - как добавить -m с Диспетчер конфигурации SQL Server: щелкните правой кнопкой мыши службу сервера, перейдите на вкладку "Дополнительно" и добавьте -m; (точка с запятой) в параметрах запуска.

Другой способ - остановить экземпляр SQL Server в службах и запустить его вручную из командной строки следующим образом:

"C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" -m -sSQLEXPRESS

Я должен был сделать это для SQL Server 2008, поскольку он не отображался в диспетчере конфигурации SQL Server 2008 R2. Командная строка Exect может быть найдена в свойствах службы.

Ответ 5

Если вы не установили его только для проверки подлинности SQL Server, вы можете войти в систему с интегрированной безопасностью, используя пользователя-администратора домена и/или машины.

Ответ 6

Чтобы эти шаги работали, вам нужно быть администратором в поле, где установлен SQL Server.

  • Остановить SQL Server из диспетчера конфигурации
  • Запустите SQL Server в однопользовательском режиме
  • Добавьте эту команду -mSQLCMD в качестве одного из параметров запуска, щелкнув правой кнопкой мыши службу и перейдя в раздел параметров запуска, как показано на скриншоте ниже, и запустите SQL Server

    введите описание изображения здесь

  • Теперь подключитесь к SQLSERVER из SQLCMD (откройте командную строку как администратор), как показано ниже:

    sqlcmd -s servername\instancename
    

    И выполните команду ниже:

    USE [master]
    GO
    CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Administrators', @rolename = N'sysadmin'
    GO
    

    Выше команда добавляет всех локальных пользователей в качестве системных администраторов. Вы можете изменить это и добавить пользователя, или вы можете сделать еще один sysadmin пользователя и удалить BUILTIN\Administrators

  • Как только это будет сделано, вам нужно остановить SQL Server и удалить параметр -mSQLCMD и перезапустить SQL Server

Литература:
Справка: я потерял пароль sa, и никто не имеет разрешения системного администратора (SysAdmin). Что делать?