Поделиться через


Запуск SQL Server в режиме Single-User

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

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

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

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

  • Процесс ЧЕКПОИНТА не выполняется. По умолчанию он автоматически выполняется при запуске.

Замечание

Остановите службу агент SQL Server перед подключением к экземпляру 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 в одном пользовательском режиме библиотека ресурсов кластера использует доступное подключение, тем самым блокируя любые другие подключения к серверу. Если 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<имя_сервера>.

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

См. также

Запуск, остановка или приостановка службы агента SQL Server
Диагностическое соединение для администраторов баз данных
Служебная программа sqlcmd
КОНТРОЛЬНАЯ ТОЧКА (Transact-SQL)
sp_configure (Transact-SQL)
Параметры запуска службы Database Engine