Использование параметров запуска службы SQL Server

При установке SQL Server программа установки сохраняет набор параметров запуска в реестр Microsoft Windows. С помощью этих параметров можно указать альтернативный файл базы данных master, файл журнала базы данных master и файл журнала ошибок.

Параметры запуска можно задать в диспетчере конфигурации SQL Server. Дополнительные сведения см. в разделе Как настроить параметры запуска сервера (диспетчер конфигурации SQL Server).

Параметры запуска по умолчанию

Описание

-d master_file_path

Полный путь к файлу базы данных master (обычно это «C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\Master.mdf»). Если данный параметр не указан, его значение считывается из реестра.

-e error_log_path

Полный путь к файлу журнала ошибок (обычно это «C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Log\Errorlog»). Если данный параметр не указан, его значение считывается из реестра.

-l master_log_path

Полный путь к файлу журнала базы данных master (обычно это «C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf»). Если данный параметр не указан, будут использованы параметры из реестра.

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

Дополнительные параметры запуска

Описание

-c

Ускоряет запуск SQL Server из командной строки. Обычно компонент SQL Server Database Engine запускается в виде службы путем вызова диспетчера управления службами. Поскольку компонент SQL Server Database Engine не запускается в виде службы при его запуске из командной строки, используйте параметр -c, чтобы пропустить этот шаг.

-f

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

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

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

-h

Резервирует виртуальное адресное пространство для метаданных памяти с «горячей» заменой, когда в 32-разрядной версии SQL Server включены расширения AWE. Требуется для поддержки памяти с «горячей» заменой с 32-разрядной версией расширений AWE, но потребляет около 0,5 ГБ виртуального адресного пространства и усложняет настройку памяти. Не требуется в 64-разрядной версии SQL Server. Память с «горячей» заменой доступна только в выпусках Windows Server 2003 Enterprise Edition и Datacenter Edition. Кроме того, эту возможность должно поддерживать специальное оборудование, предоставленное поставщиком.

-m

Запускает экземпляр SQL Server в однопользовательском режиме. В этом режиме к экземпляру SQL Server может подключиться только один пользователь, и процесс CHECKPOINT не запускается. Процесс CHECKPOINT гарантирует, что завершенные транзакции будут периодически переписываться из кэша диска на устройство базы данных. Этот параметр применяется обычно при возникновении проблем с системными базами данных, которые необходимо исправить. Включает параметр процедуры sp_configure allow updates. По умолчанию параметр allow updates отключен. После запуска SQL Server в однопользовательском режиме каждый член локальной группы администраторов на компьютере сможет подключаться к экземпляру SQL Server от имени члена предопределенной роли сервера sysadmin. Дополнительные сведения см. в разделе Устранение неполадок. Соединение с SQL Server в случае, когда системные администраторы заблокированы. Дополнительные сведения об однопользовательском режиме см. в разделе Запуск SQL Server в однопользовательском режиме.

-m"имя клиентского приложения"

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

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

-n

Указывает, что не нужно использовать журнал приложений Windows для регистрации событий SQL Server. При запуске экземпляра SQL Server с параметром -n рекомендуется также указывать параметр запуска -e. В противном случае события SQL Server не регистрируются в журнале.

-s

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

-T trace#

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

-x

Отключает следующие функции наблюдения.

  • Счетчики системного монитора SQL Server.

  • Поддержку статистики времени ЦП и коэффициента попадания в кэш.

  • Сбор данных для команды DBCC SQLPERF.

  • Сбор данных для некоторых динамических административных представлений.

  • Многие точки событий расширенных событий.

ПредупреждениеВнимание!
При использовании параметра запуска –x значительно сокращается объем данных, доступных для диагностики производительности и функциональных проблем SQL Server.

-E

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

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

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

Использование параметров запуска для устранения неполадок

Некоторые параметры запуска (например параметр однопользовательского режима или режима минимальной конфигурации) применяются, главным образом, во время устранения неполадок. При запуске сервера для устранения неполадок с параметрами –m или –f это проще всего сделать из командной строки при запуске sqlservr.exe вручную.

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

Если SQL Server запускается с помощью команды net start, вместо дефиса (-) при указании параметров запуска используется косая черта (/).

Использование параметров запуска в обычной работе

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

Журнал изменений

Обновленное содержимое

Добавлен параметр запуска -m"имя клиентского приложения" и его описание.