Приложение sqlservr

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

Синтаксис

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

Аргументы

  • -sinstance_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 будет остановлен, если выйти из системы на данном компьютере.

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

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

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

  • -lmaster_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 не будут регистрироваться.

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

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

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

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

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

  • -gmemory_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.

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

  • -h
    Резервирует виртуальное адресное пространство для метаданных памяти с «горячей» заменой, если в 32-разрядной версии SQL Server включены расширения AWE. Параметр необходим при использовании памяти с «горячей» заменой совместно с 32-разрядными расширениями AWE, однако требует наличия около 0,5 ГБ виртуального адресного пространства и затрудняет настройку памяти. Не требуется для 64-разрядных версий SQL Server.

Замечания

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