Sintomas
Considere o seguinte cenário:
-
Tem uma base de dados de versão 2012 ou versão anterior do Microsoft SQL Server que tem vários grupos de ficheiros, e o grupo de ficheiros secundário é o grupo de ficheiros predefinido.
-
Faça o back-up na base de dados e, em seguida, restaure-a no SQL Server 2014.
-
Define o grupo de ficheiros primário como grupo de ficheiros predefinido e, em seguida, tenta remover o grupo de ficheiros secundário.
Neste cenário, não é possível eliminar o grupo de ficheiros secundário, mesmo que todos os ficheiros de dados ao seu abrigo sejam eliminados. A mensagem de erro mostra que o grupo de ficheiros secundário não pode ser removido porque não está vazio.
Causa
O problema ocorre porque a atualização da versão da base de dados cria objetos de sistema no grupo de ficheiros predefinidos em vez do grupo de ficheiros primário no SQL Server 2014. O grupo de ficheiros secundário ainda contém alguns objetos do sistema.
Resolução
Esta correção introduz a bandeira de traço 3861 para mover as tabelas do sistema para o grupo de ficheiros primário. Depois de aplicar o hotfix descrito neste artigo, quando iniciar o SQL Server usando o traço da bandeira 3861 como parâmetro de arranque, pode mover as tabelas do sistema para o grupo de ficheiros primário. Se ainda não tiver restaurado a cópia de segurança da base de dados, poderá ativar a bandeira de rastreio ao nível do servidor:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 4 para SQL Server 2014 /en-us/help/2999197
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".