Запуск SQL Server в однопользовательском режиме

В некоторых обстоятельствах может потребоваться запустить экземпляр SQL Server в однопользовательском режиме при помощи startup option -m. Например, возникнет необходимость изменить параметры конфигурации сервера или восстановить из резервной копии базу данных master или другую системную базу данных. Для обоих этих действий необходим запуск экземпляра SQL Server в однопользовательском режиме.

После запуска SQL Server в однопользовательском режиме каждый член локальной группы администраторов на компьютере сможет подключаться к экземпляру SQL Server в качестве члена предопределенной роли сервера sysadmin. Дополнительные сведения см. в разделе Подключение к SQL Server в случае, если доступ системных администраторов заблокирован.

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

  • Только один пользователь может подключиться к серверу.

  • Процесс CHECKPOINT не выполняется. По умолчанию он автоматически выполняется при запуске.

ПримечаниеПримечание

Перед подключением к экземпляру SQL Server в однопользовательском режиме остановите службу агента SQL Server, в противном случае она будет использовать соединение, тем самым блокируя его.

Если экземпляр SQL Server запускается в однопользовательском режиме, среда Среда SQL Server Management Studio может подключаться к SQL Server. Обозреватель объектов в среде Среда Management Studio может вызвать ошибку, поскольку для некоторых операций ему необходимо одновременно несколько соединений. Чтобы управлять SQL Server в однопользовательском режиме, выполняйте инструкции Transact-SQL, подключаясь только через редактор запросов в среде Среда Management Studio, или используйте программу sqlcmd.

При использовании параметра -m с sqlcmd или Среда Management Studio можно ограничить подключения к определенному клиентскому приложению. Например, -m"sqlcmd" разрешает только одно соединение, которое должно идентифицироваться как клиентская программа sqlcmd. Этот параметр следует использовать, когда SQL Server запускается в однопользовательском режиме, а единственное доступное соединение занято неизвестным клиентским приложением. Для подключения через редактор запросов в Среда Management Studio используйте -m"Microsoft SQL Server Management Studio - Query".

Примечание по безопасностиПримечание по безопасности

Не используйте этот параметр как средство безопасности. Клиентское приложение предоставляет имя клиентского приложения и может указать ложное имя как часть строки подключения.

Примечание для кластеризованной установки

Когда при установке SQL Server в кластерной среде выполняется запуск SQL Server в однопользовательском режиме, DLL-библиотека ресурсов кластера использует доступное соединение, блокируя тем самым любые другие подключения к серверу. В таком состоянии SQL Server попытка перевести ресурс агента SQL Server в режим «в сети», может привести к переходу ресурса SQL на другой узел, если этот ресурс настроен с учетом группы.

Для решения этой проблемы используется следующая процедура.

  1. Удалите параметр запуска –m из дополнительных свойств SQL Server.

  2. Переведите ресурс SQL Server в режим «вне сети».

  3. С текущего узла владельца этой группы выполните в командной строке следующую команду: net start MSSQLSERVER /m.

  4. Уточните у администратора кластера или с помощью консоли управления отказоустойчивым кластером, остается ли ресурс SQL Server в режиме «вне сети».

  5. Теперь подключитесь к SQL Server с помощью приведенной ниже команды и выполните необходимую операцию: SQLCMD -E -S<servername>.

  6. После завершения операции закройте командную строку и переведите SQL и другие ресурсы обратно в режим «в сети», обратившись к администратору кластера.

См. также

Справочник

Программа sqlcmd

CHECKPOINT (Transact-SQL)

sp_configure (Transact-SQL)

Основные понятия

Запуск, остановка или приостановка службы агента SQL Server

Диагностическое соединение для администраторов баз данных

Параметры запуска службы Database Engine