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


Приложение sqlservr

Приложение sqlservr позволяет запускать, останавливать, приостанавливать и возобновлять работу экземпляра Microsoft SQL Server из командной строки.

Синтаксис

sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f] 
     [-eerror_log_path] [-lmaster_log_path] [-m]
     [-n] [-Ttrace#] [-v] [-x] [-gnumber]

Аргументы

  • -s instance_name
    Указывает экземпляр SQL Server для подключения. Если имя экземпляра не указано, программа sqlservr запускает экземпляр SQL Server по умолчанию.

    Важное примечаниеВажно!

    Для запуска экземпляра SQL Server приложение sqlservr необходимо запускать из каталога, соответствующего этому экземпляру. Для экземпляра по умолчанию sqlservr нужно запускать из каталога \MSSQL\Binn. Для именованного экземпляра sqlservr нужно запускать из каталога \MSSQL$instance_name\Binn.

  • -c
    Указывает, что экземпляр SQL Server будет запущен независимо от диспетчера управления службами Microsoft Windows. Этот параметр используется при запуске SQL Server из командной строки, чтобы сократить время, необходимое для запуска SQL Server.

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

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

  • -d master_path
    Указывает полный путь к файлу базы данных master. Между параметрами -d и master_path не должно быть пробелов. Если этот параметр не задан, используются параметры из реестра.

  • -f
    Запускает экземпляр SQL Server с минимальной конфигурацией. Эта функция полезна в случае, если установленные значения конфигурации (например, слишком большой объем выделяемой памяти) не позволяют выполнить запуск сервера.

  • -e error_log_path
    Указывает полный путь к файлу журнала ошибок. Если путь не указан, местоположением по умолчанию является Диск:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog для экземпляра по умолчанию и Диск:\Program Files\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog — для именованного экземпляра. Между параметрами -e и error_log_path не должно быть пробелов.

  • -l master_log_path
    Указывает полный путь к файлу журнала транзакций базы данных master. Между параметрами -l и master_log_path не должно быть пробелов.

  • -m
    Указывается для запуска экземпляра SQL Server в однопользовательском режиме. Если SQL Server запущен в однопользовательском режиме, к нему может подключиться только один пользователь. Механизм CHECKPOINT, гарантирующий, что завершенные транзакции регулярно записываются из дискового кэша в устройство хранения базы данных, не запускается. (Как правило, этот параметр используется при появлении проблем с системными базами данных, требующими исправления.) При использовании этого параметра включается параметр sp_configure allow updates. По умолчанию параметр allow updates отключен.

  • -n
    Позволяет запустить именованный экземпляр SQL Server. Без указания параметра -s будет произведена попытка запуска экземпляра по умолчанию. Перед запуском sqlservr.exe необходимо в командной строке перейти в каталог BINN соответствующего экземпляра. Например, если экземпляр Instance1 должен использовать \mssql$Instance1 для своих двоичных файлов, для запуска sqlservr.exe -s instance1 пользователь должен быть в каталоге \mssql$Instance1\binn. Если экземпляр SQL Server запускается с параметром -n, целесообразно также использовать параметр -e, иначе события SQL Server не будут регистрироваться.

  • -T trace#
    Указывает, что экземпляр SQL Server фактически должен запускаться с установленным флагом трассировки (trace#). Флаги трассировки используются для запуска сервера в нестандартном режиме. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).

    Важное примечаниеВажно!

    При указании флага трассировки укажите -T, чтобы передать номер флага трассировки. Символ «t» в нижнем регистре (-t) также воспринимается SQL Server, однако в этом случае будут установлены другие внутренние флаги трассировки, необходимые инженерам службы поддержки SQL Server.

  • -v
    Отображает номер версии сервера.

  • -x
    Отключает ведение статистики по процессорному времени и коэффициенту попадания в кэш. Позволяет достичь максимальной производительности.

  • -g memory_to_reserve
    Определяет целое число мегабайтов (МБ) памяти, которую SQL Server оставляет доступной для распределения памяти в пределах процесса SQL Server, но за пределами пула памяти SQL Server. Память за пределами пула памяти является областью, используемой SQL Server для загрузки таких элементов, как .dll-файлы расширенных процедур, поставщики OLE DB, на которые ссылаются распределенные запросы, и объекты автоматизации, на которые имеется ссылка в инструкциях Transact-SQL. По умолчанию установлено значение 256 МБ.

    Использование данного параметра может помочь в настройке распределения памяти, но только в том случае, если объем физической памяти превышает предел, установленный операционной системой для виртуальной памяти, доступной для приложений. Использование данного параметра может быть полезным в конфигурациях с большим объемом памяти, где требования к использованию памяти SQL Server являются нетипичными и виртуальное пространство процесса SQL Server используется в полной мере. Неверное использование этого параметра может привести к появлению условий, при которых экземпляр SQL Server не будет запущен или может вызвать ошибки времени выполнения.

    Используйте значение параметра -g по умолчанию, только если в файле журнала ошибок SQL Server не присутствуют следующие предупреждения:

    • «Ошибка виртуального выделения байтов: FAIL_VIRTUAL_RESERVE <размер>»

    • «Ошибка виртуального выделения байтов: FAIL_VIRTUAL_COMMIT <размер>»

    Эти сообщения могут свидетельствовать о попытках SQL Server освободить часть пула памяти SQL Server, чтобы найти пространство для таких элементов, как dll-файлы расширенных хранимых процедур или объекты автоматизации. В этом случае необходимо рассмотреть возможность увеличения размера памяти, зарезервированной с помощью параметра -g .

    Использование значения меньше, чем значение по умолчанию, увеличивает объем памяти, доступной для буферного пула и стеков потоков. Это может обеспечить некоторое повышение производительности при рабочих нагрузках, интенсивно использующих память в системах, использующих небольшое количество расширенных хранимых процедур, распределенных запросов или объектов автоматизации.

Замечания

В большинстве случаев программа sqlserver.exe используется только для устранения неполадок или в ходе масштабных операций обслуживания. Если SQL Server запущен из командной строки с помощью программы sqlservr.exe, SQL Server запускается не в качестве службы, поэтому остановить SQL Server с помощью команды net невозможно. Пользователи могут подключаться к SQL Server, однако средства SQL Server отображают состояние службы, поэтому диспетчер конфигурации SQL Server правильно показывает, что служба остановлена. Среда Среда SQL Server Management Studio может подключаться к серверу, но также укажет, что служба остановлена.

Поддержка совместимости

Параметр -h не поддерживается в SQL Server 2012. Этот параметр использовался в более ранних версиях 32-битных экземпляров SQL Server для резервирования виртуального адресного пространства для метаданных памяти с «горячей» заменой при включенных расширениях AWE. Дополнительные сведения см. в разделе Функции SQL Server, больше не поддерживаемые в SQL Server 2012.

См. также

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

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