Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os bancos de dados do sistema devem ser recriados para corrigir problemas de corrupção nos bancos de dados mestre, modelo, msdb ou sistema de recursos ou para modificar a ordenação padrão no nível do servidor. Este tópico fornece instruções passo a passo para recriar bancos de dados do sistema no SQL Server 2014.
Nesse Tópico
Antes de começar:
Procedimentos:
Recompilar bancos de dados do sistema
Acompanhamento:
Antes de começar
Limitações e restrições
Quando os bancos de dados de sistema master, model, msdb e tempdb são recriados, os bancos de dados são descartados e recriados em seu local original. Se uma nova ordenação for especificada na instrução rebuild, os bancos de dados do sistema serão criados usando essa configuração de ordenação. Todas as modificações do usuário nesses bancos de dados são perdidas. Por exemplo, você pode ter objetos definidos pelo usuário no banco de dados mestre, trabalhos agendados no msdb ou alterações nas configurações de banco de dados padrão no banco de dados modelo.
Pré-requisitos
Execute as seguintes tarefas antes de recompilar os bancos de dados do sistema para garantir que você possa restaurar os bancos de dados do sistema para suas configurações atuais.
Registre todos os valores de configuração em todo o servidor.
SELECT * FROM sys.configurations;Registre todos os service packs e hotfixes que foram aplicados à instância do SQL Server, assim como a collation atual. Você deve reaplicar essas atualizações depois de recompilar os bancos de dados do sistema.
SELECT SERVERPROPERTY('ProductVersion ') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('ResourceVersion') AS ResourceVersion, SERVERPROPERTY('ResourceLastUpdateDateTime') AS ResourceLastUpdateDateTime, SERVERPROPERTY('Collation') AS Collation;Registre o local atual de todos os dados e arquivos de log para os bancos de dados do sistema. Reconstruir os bancos de dados do sistema instala todos os bancos de dados do sistema em seu local original. Se você tiver movido dados do banco de dados do sistema ou arquivos de log para um local diferente, deverá mover os arquivos novamente.
SELECT name, physical_name AS current_file_location FROM sys.master_files WHERE database_id IN (DB_ID('master'), DB_ID('model'), DB_ID('msdb'), DB_ID('tempdb'));Localize o backup atual dos bancos de dados mestre, modelo e msdb.
Se a instância do SQL Server estiver configurada como um Distribuidor de replicação, localize o backup atual do banco de dados de distribuição.
Verifique se você tem permissões apropriadas para recompilar os bancos de dados do sistema. Para executar essa operação, você deve ser um membro da
sysadminfunção de servidor fixa. Para obter mais informações, veja Funções de nível de servidor.Verifique se existem cópias dos arquivos mestre, modelo, dados msdb e modelo de log no servidor local. O local padrão para os arquivos de modelo é C:\Arquivos de Programas\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL\Binn\Templates. Esses arquivos são usados durante o processo de recompilação e devem estar presentes para que a Instalação seja bem-sucedida. Se eles estiverem ausentes, execute o recurso Reparar da Instalação ou copie manualmente os arquivos da mídia de instalação. Para localizar os arquivos na mídia de instalação, navegue até o diretório de plataforma apropriado (x86 ou x64) e navegue até setup\sql_engine_core_inst_msi\Pfiles\SqlServr\MSSQL. X\MSSQL\Binn\Templates.
Recriar bancos de dados do sistema
O procedimento a seguir recria os bancos de dados do sistema mestre, modelo, msdb e tempdb. Não é possível especificar os bancos de dados do sistema a serem recriados. Para instâncias clusterizados, esse procedimento deve ser executado no nó ativo e o recurso do SQL Server no grupo de aplicativos de cluster correspondente deve ser colocado offline antes de executar o procedimento.
Este procedimento não recria o banco de dados de recursos. Consulte a seção "Reconstruir o procedimento do banco de dados de recursos" mais adiante neste tópico.
Para recriar bancos de dados do sistema para uma instância do SQL Server:
Insira a mídia de instalação do SQL Server 2014 na unidade de disco ou, de um prompt de comando, altere os diretórios para o local do arquivo setup.exe no servidor local. O local padrão no servidor é C:\Arquivos de Programas\Microsoft SQL Server\120\Setup Bootstrap\Release.
Em uma janela do prompt de comando, insira o comando a seguir. Colchetes são usados para indicar parâmetros opcionais. Não insira os colchetes. Ao usar um sistema operacional Windows que tenha o UAC (Controle de Conta de Usuário) habilitado, a execução da Instalação requer privilégios elevados. O prompt de comando do Windows deve ser executado com privilégios de Administrador.
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]Nome do parâmetro Descrição /QUIET ou /Q Especifica que a Instalação é executada sem nenhuma interface do usuário. /ACTION=REBUILDDATABASE Especifica que a Instalação recriará os bancos de dados do sistema. /INSTANCENAME=InstanceName É o nome da instância do SQL Server. Para a instância padrão, insira MSSQLSERVER. /SQLSYSADMINACCOUNTS=accounts Especifica os grupos do Windows ou contas individuais a serem adicionadas à sysadminfunção de servidor fixa. Ao especificar mais de uma conta, separe as contas com um espaço em branco. Por exemplo, digite BUILTIN\Administrators MyDomain\MyUser. Quando você estiver especificando uma conta que contenha um espaço em branco dentro do nome da conta, coloque a conta entre aspas duplas. Por exemplo, digiteNT AUTHORITY\SYSTEM.[ /SAPWD=StrongPassword ] Especifica a senha da conta do SQL Server sa. Esse parâmetro será necessário se a instância usar o modo de Autenticação Misturada (SQL Server e Autenticação do Windows).
** Nota de segurança ** Asaconta é uma conta conhecida do SQL Server e geralmente é direcionada por usuários mal-intencionados. É muito importante que você use uma senha forte para osalogon.
Não especifique esse parâmetro para o modo de Autenticação do Windows.[ /SQLCOLLATION=CollationName ] Especifica uma nova ordenação no nível do servidor. Esse parâmetro é opcional. Quando não especificado, a ordenação atual do servidor é usada.
**Importante** Alterar a ordenação no nível do servidor não altera a ordenação de bancos de dados de usuário existentes. Todos os bancos de dados de usuário recém-criados usarão a nova ordenação por padrão.
Para obter mais informações, consulte Definir ou alterar a ordenação do servidor.Quando a configuração tiver concluído a reconstrução dos bancos de dados do sistema, ela volta ao prompt de comando sem mensagens. Examine o arquivo de log Summary.txt para verificar se o processo foi concluído com êxito. Esse arquivo está localizado em C:\Arquivos de Programas\Microsoft SQL Server\120\Setup Bootstrap\Logs.
Tarefas pós-recompilação
Depois de recriar o banco de dados, talvez seja necessário executar as seguintes tarefas adicionais:
Restaure os backups completos mais recentes dos bancos de dados mestre, modelo e msdb. Para obter mais informações, confira Backup e restauração de bancos de dados do sistema (SQL Server).
Importante
Se você alterou a ordenação do servidor, não restaure os bancos de dados do sistema. Isso substituirá a nova ordenação pela configuração de ordenação anterior.
Se um backup não estiver disponível ou se o backup restaurado não for atual, crie novamente as entradas ausentes. Por exemplo, recrie todas as entradas ausentes para seus bancos de dados de usuário, dispositivos de backup, logins do SQL Server, pontos de extremidade e assim por diante. A melhor maneira de recriar entradas é executar os scripts originais que as criaram.
Importante
Recomendamos que você proteja seus scripts para evitar que eles sejam alterados por indivíduos não autorizados.
Se a instância do SQL Server estiver configurada como um Distribuidor de replicação, você deverá restaurar o banco de dados de distribuição. Para obter mais informações, consulte Fazer Backup e Restaurar Bases de Dados Replicadas.
Mova os bancos de dados do sistema para os locais que você registrou anteriormente. Para obter mais informações, consulte Movimentação de Bancos de Dados do Sistema.
Verifique se os valores de configuração em todo o servidor correspondem aos valores que você registrou anteriormente.
Recompilar o banco de dados de recursos
O procedimento a seguir recria o banco de dados do sistema de recursos. Quando você recria o banco de dados de recursos, todos os service packs e hotfixes são perdidos e, portanto, devem ser reaplicados.
Para reconstruir o banco de dados do sistema de recursos:
Inicie o programa de Instalação do SQL Server 2014 (setup.exe) na mídia de distribuição.
Na área de navegação à esquerda, clique em Manutenção e, em seguida, clique em Reparar.
A regra de suporte à Instalação e as rotinas de arquivos são executadas para garantir que o sistema tenha os pré-requisitos instalados e que o computador aprove as regras de validação da Instalação. Clique em OK ou em Instalar para continuar.
Na página Selecionar Instância, selecione a instância a ser reparada e clique em Avançar.
As regras de reparo são executadas para validar a operação. Para continuar, clique em Avançar.
Na página Pronto para Reparar , clique em Reparar. A página Concluído indica que a operação foi concluída.
Criar um novo banco de dados msdb
Se o msdb banco de dados estiver danificado e você não tiver um backup do msdb banco de dados, poderá criar um novo msdb usando o script instmsdb .
Aviso
A recriação do msdb banco de dados usando o script instmsdb eliminará todas as informações armazenadas em msdb, como trabalhos, alertas, operadores, planos de manutenção, histórico de backup, configurações de Gerenciamento Baseado em Políticas, Correio de Banco de Dados, Armazém de Dados de Desempenho, etc.
Interrompa todos os serviços que se conectam ao Mecanismo de Banco de Dados, incluindo SQL Server Agent, SSRS, SSIS e todos os aplicativos que usam o SQL Server como armazenamento de dados.
Inicie o SQL Server na linha de comando usando o comando:
NET START MSSQLSERVER /T3608Para obter mais informações, consulte Iniciar, Parar, Pausar, Retomar, Reiniciar o Mecanismo de Banco de Dados, o Agente do SQL Server ou o Serviço de Navegador do SQL Server.
Em outra janela de linha de comando, desanexe o
msdbbanco de dados executando o seguinte comando, substituindo <o nome do servidor> pela instância do SQL Server:SQLCMD -E -S<servername> -dmaster -Q"EXEC sp_detach_db msdb"Usando o Windows Explorer, renomeie os arquivos de
msdbbanco de dados. Por padrão, eles estão na subpasta DATA para a instância do SQL Server.Usando o SQL Server Configuration Manager, interrompa e reinicie normalmente o serviço do Mecanismo de Banco de Dados.
Em uma janela de linha de comando, conecte-se ao SQL Server e execute o comando:
SQLCMD -E -S<servername> -i"C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Install\instmsdb.sql" -o" C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Install\instmsdb.out"Substitua <o nome do> servidor pela instância do Mecanismo de Banco de Dados. Use o caminho do sistema de arquivos da instância do SQL Server.
Usando o Bloco de Notas do Windows, abra o arquivo instmsdb.out e verifique se há erros na saída.
Aplique novamente todos os service packs ou hotfix instalados na instância.
Recrie o conteúdo do usuário armazenado no
msdbbanco de dados, como trabalhos, alertas etc.Faça backup do
msdbbanco de dados.
Solucionar erros de recompilação
A sintaxe e outros erros em tempo de execução são exibidos na janela do prompt de comando. Examine a instrução Setup para os seguintes erros de sintaxe:
Marca de barra ausente (/) na frente de cada nome de parâmetro.
A ausência do sinal de igual (=) entre o nome e o valor do parâmetro.
Presença de espaços em branco entre o nome do parâmetro e o sinal de igual.
Presença de vírgulas (,) ou outros caracteres que não são especificados na sintaxe.
Após a conclusão da operação de recompilação, examine os logs do SQL Server em busca de erros. O local de log padrão é C:\Arquivos de Programas\Microsoft SQL Server\120\Setup Bootstrap\Logs. Para localizar o arquivo de log que contém os resultados do processo de recompilação, altere os diretórios para a pasta Logs de um prompt de comando e execute findstr /s RebuildDatabase summary*.*. Esta busca direcionará você para quaisquer arquivos de log que contenham os resultados da reconstrução de bancos de dados do sistema. Abra os arquivos de log e examine-os quanto a mensagens de erro relevantes.