Sintomas
Considere o seguinte cenário:
-
Utiliza o Microsoft SQL Server 2012 ou o SQL Server 2014.
-
Tem uma base de dados que tem um corretor de serviços ativado na réplica primária.
-
Faça o back up na base de dados do servidor primário que tem o corretor de serviço ativo e restaurá-lo no servidor secundário.
-
Como parte da definição do grupo de disponibilidade entre os servidores primário e secundário, tenta juntar a base de dados ao grupo de disponibilidade utilizando o assistente do Grupo De Nova Disponibilidade ou o assistente do Grupo de Novos Disponibilidades ou o comando:ALTER DATABASE <dbname> SET HADR AVAILABILITY GROUP = <agname>
Neste cenário, o seguinte erro é registado no registo de erro do SQL Server:
{Erro: 3449, Severidade: 21, Estado: 1.SQL Servidor deve ser desligado para recuperar uma base de dados (ID 1 da base de dados). A base de dados é uma base de dados de utilizadores que não pôde ser desligada ou uma base de dados do sistema. Reinicie o SQL Server. Se a base de dados não recuperar após outra startup, a reparação ou restauro do RastreioSQL foi interrompida devido ao encerramento do servidor. Identificação de vestígios = '1'. Esta é apenas uma mensagem informativa; não é necessária qualquer ação do utilizador.}
Causa
O problema ocorre porque se uma base de dados ativada por um corretor de serviços for apoiada e restaurada para o servidor secundário, o corretor de serviços na base de dados restaurada não está ativado. A base de dados ainda mantém um id corretor de serviço internamente. Quando adiciona a base de dados restaurada no servidor secundário ao grupo de disponibilidade, o corretor de serviços está ativado. O mesmo GUID na base de dados de disponibilidade é detetado, e o seguinte erro é levantado (silenciosamente): 9772 "O Corretor de Serviços na base de dados "<dbname>" não pode ser ativado porque já existe um Corretor de Serviços habilitado com o mesmo ID". Isto resulta no erro 3449, uma vez que a base de dados se junta ao grupo de disponibilidade, e faz com que o servidor SQL desligue inesperadamente.
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 1 para SQL Server 2014 /en-us/help/2931693
Atualização Cumulativa 9 para SQL Server 2012 SP1 /en-us/help/2931078
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".