Использование параметров запуска службы 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 в режиме минимальной конфигурации 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 всегда запускается с этими параметрами.