Usando as opções de inicialização do serviço do SQL Server

Quando você instala SQL Server, a configuração grava um conjunto de opções de inicialização padrão no Microsoft Registro do Windows. Você pode usar essas opções de inicialização para especificar um arquivo de banco de dados master alternativo, o arquivo de log de banco de dados master ou o arquivo de log de erros.

Opções de inicialização podem ser definidas usando SQL Server Gerenciador de Configuração. Para obter informações, consulte Como configurar opções de inicialização do servidor (SQL Server Configuration Manager).

Opções de inicialização padrão

Descrição

-d master_file_path

O caminho totalmente qualificado para o arquivo do banco de dados master (geralmente, C:\Arquivos de Programas\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf). Se você não fornecer essa opção, os parâmetros de registro existentes serão usados.

-e error_log_path

O caminho completo qualificado para o arquivo de log de erros (normalmente, C:\Arquivos de Programa\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG). Se você não fornecer essa opção, os parâmetros de registro existentes serão usados.

-l master_log_path

O caminho totalmente qualificado para o arquivo de log do banco de dados master (geralmente C:\Arquivos de Programas\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf). Se você não especificar essa opção, serão usados os parâmetros de registro existentes.

Você pode substituir temporariamente as opções de inicialização padrão e iniciar uma instância de SQL Server usando as opções de inicialização adicionais a seguir.

Outras opções de inicialização

Descrição

-c

Reduz o tempo de inicialização ao iniciar SQL Server no prompt de comando. Normalmente, o Mecanismo de banco de dados do SQL Server inicia como um serviço chamando o Gerenciador de Controle de Serviços. Porque o Mecanismo de banco de dados do SQL Server não inicia como um serviço quando inicia do prompt de comando, use - c para ignorar essa etapa.

-f

Inicia uma instância de SQL Server com configuração mínima. Isso será útil se a configuração de um valor de configuração (por exemplo, sobrecarga de confirmação de memória) impediu o servidor de ser iniciado. Começar o SQL Server no modo de configuração mínima coloca o SQL Server no modo de usuário único. Para obter mais informações, consulte a descrição de -m a seguir.

-g memory_to_reserve

Especifica um número inteiro de megabytes (MB) de memória que o SQL Server deixará disponível para alocações de memória dentro do processo do SQL Server, mas fora do pool de memória do SQL Server. A memória fora do pool de memória é a área usada por SQL Server para carregar itens como procedimento estendido arquivos .dll, os provedores OLE DB referidos através de consultas distribuídas, e de objetos de automação referidos em instruções Transact-SQL. O padrão é 256 MB.

O uso desta opção pode ajudar a ajustar alocação de memória, mas só quando a memória física excede o limite configurado definido pelo sistema operacional em memória virtual disponível para aplicativos. O uso desta opção pode ser apropriado em configurações de memória grandes nas quais os requisitos de uso de memória de SQL Server são atípicos e o espaço de endereço virtual do processo SQL Server está totalmente em uso. O uso incorreto dessa opção pode conduzir a condições sob as quais uma instância do SQL Server pode não iniciar ou encontrar erros no tempo de execução.

Use o padrão para o parâmetro -g a menos que você veja qualquer dos seguintes avisos no log de erros do SQL Server:

  • "Falha dos bytes virtuais alocados: FAIL_VIRTUAL_RESERVE <tamanho>"

  • "Falha dos Bytes virtuais alocados: FAIL_VIRTUAL_COMMIT <tamanho>"

Essas mensagens podem indicar que SQL Server está tentando liberar partes do pool de memória SQL Server para encontrar espaço para itens como procedimento armazenado estendido arquivos .dll ou objetos de automação. Neste caso, considere aumentar a quantidade de memória reservada pela opção - g.

Usando um valor menor que o padrão aumentará a quantidade de memória disponível para o pool de buffers e pilhas de thread; isto pode, em troca, fornecer algum benefício de desempenho a cargas de trabalho de memória intensiva em sistemas que não usam muitos procedimentos armazenados estendidos, consultas distribuídas ou objetos de automação.

-h

Reserva espaço de endereço virtual para Inclusão de metadados de memória a quente quando AWE está habilitado com SQL Serverde 32 bits. Necessário para Inclusão de Memória a Quente com 32 bits AWE, mas  consume  aproximadamente 500 MB de espaço de endereço virtual e torna o ajuste de memória mais difícil. Não necessário para SQL Serverde 64 bits. A Inclusão de Memória a Quente está disponível apenas para edições do Windows Server 2003, Enterprise e Datacenter. Também necessita de suporte de hardware especial dado pelo fornecedor de hardware.

-m

Inicia uma instância de SQL Server em modo de usuário único. Quando você inicia uma instância de SQL Server em modo de usuário único, só um único usuário pode conectar e o processo de CHECKPOINT não é iniciado. CHECKPOINT garante que transações concluídas sejam gravadas regularmente do cache de disco para o dispositivo de banco de dados. (Normalmente, esta opção será usada se você encontrar problemas com bancos de dados do sistema que precisem ser corrigidos.) Habilita a opção sp_configure allow updates. Por padrão, allow updates fica desabilitado. Iniciar o SQL Server no modo de usuário único permite que qualquer membro do grupo de Administradores locais do computador se conecte à instância do SQL Server como um membro da função de servidor fixa sysadmin. Para obter mais informações, consulte Solucionando problemas: Conectando-se ao SQL Server quando os administradores do sistema estão bloqueados. Para obter mais informações sobre o modo de usuário único, consulte Iniciando o SQL Server no modo de usuário único.

-m"Nome do aplicativo cliente"

Quando usar a opção -m com SQLCMD ou SQL Server Management Studio, você poderá limitar as conexões a um aplicativo cliente especificado. Por exemplo, -m"SQLCMD" limita conexões a uma única conexão e essa conexão deve se identificar como o programa cliente SQLCMD. Use esta opção ao iniciar o SQL Server no modo de usuário único e se um aplicativo cliente desconhecido estiver usando a única conexão disponível. Para se conectar pelo Editor de Consulta no Management Studio, use -m"Microsoft SQL Server Management Studio - Query".

O nome do aplicativo cliente diferencia maiúsculas de minúsculas.

Observação importanteImportante
Não use essa opção como um recurso de segurança. O aplicativo cliente fornece o nome do aplicativo cliente e pode fornecer um nome falso como parte da cadeia de conexão.

-n

Não usa o log de aplicativo do Windows para registrar eventos do SQL Server. Se você iniciar uma instância de SQL Server com - n, nós recomendamos que você também use a opção de inicialização - e. Caso contrário, eventos SQL Server não são registrados no log.

- s

Permite iniciar uma instância nomeada de SQL Server. Sem o parâmetro -s definido, a instância padrão tentará iniciar. Você deve trocar para o diretório de BINN apropriado para a instância em um prompt de comando antes de iniciar sqlservr.exe. Por exemplo, se a Instance1 precisar usar \mssql$Instance1 para seus binários, o usuário deverá estar no diretório \mssql$Instance1\binn para iniciar o sqlservr.exe -s instance1.

-T trace#

Indica que uma instância de SQL Server deveria ser iniciada com um sinalizador de rastreamento especificado (trace#) em efeito. São usados sinalizadores de rastreamento para iniciar o servidor com comportamento não padrão. Para obter mais informações, consulte Sinalizadores de rastreamento (Transact-SQL).

-x

Desabilita os seguintes recursos de monitoramento:

  • Contadores de monitor de desempenho do SQL Server

  • Manutenção da hora da CPU e as estatísticas de taxa de acertos de cache

  • Coleta de informações para o comando DBCC SQLPERF

  • Coleta de informações por algumas exibições de gerenciamento dinâmicas

  • Muitos pontos de evento dos eventos estendidos

Observação sobre cuidadosCuidado
Quando você usa a opção de inicialização –x, as informações disponíveis para diagnosticar problemas de desempenho e funcionais com o SQL Server são bastante reduzidas.

-E

Aumenta o número de extensões alocadas para cada arquivo em um grupo de arquivos. Essa opção pode ser útil para aplicativos de data warehouse que têm um número limitado de usuários que estão executando exames de índices ou de dados. Ela não deve ser usada em outros aplicativos porque pode afetar o desempenho de maneira prejudicial. Essa opção não tem suporte em versões de 32 bits do SQL Server.

ObservaçãoObservação

Ao especificar um sinalizador de rastreamento com a opção -T, use um "T" maiúsculo para passar o número do sinalizador de rastreamento. Um "t" minúsculo é aceito através de SQL Server, mas isso define outros sinalizadores de rastreamento internos que só são exigidos através de SQL Server engenheiros de suporte. (Parâmetros especificados na janela de inicialização do Painel de Controle não são legíveis.)

Usando opções de inicialização para solucionar problemas

Algumas opções de inicialização como modo de usuário único e modo de configuração mínimo são principalmente usados durante a solução de problemas. Iniciando o servidor por solução de problemas com as opções –m ou f é feito facilmente à linha de comandos, enquanto inicia sqlservr.exe manualmente.

ObservaçãoObservação

Quando SQL Server é iniciado usando net start, as opções de inicialização usam uma barra (/) em lugar de um hífen (-).

Usando opções de inicialização durante operações normais

Você pode desejar usar algumas opções de inicialização toda vez que iniciar SQL Server. Essas opções, como –g ou inicializando com um sinalizador de rastreamento, é feito facilmente configurando os parâmetros de inicialização usando SQL Server Management Studio ou SQL Server Gerenciador de Configuração. Essas ferramentas salvam as opções de inicialização como chaves do Registro, habilitando SQL Server a sempre iniciar com as opções de inicialização.