Забыли пароль 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). Что делать?