Existe uma maneira de truncar a tabela que possui chaves estrangeiras? Excluir e propagar novamente pode demorar muito. Excluir e recriar chaves é o único caminho? Se sim, existe alguma ferramenta que faça isso?
relate perguntas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Como determinar se um Índice é necessário ou necessário
-
Downgrade do SQL Server 2008 para 2005
Não, você precisa excluir e recriar as chaves ou aguardar a exclusão e a propagação novamente. Desativar a chave estrangeira temporariamente pode tornar a exclusão mais rápida, mas ainda não permitirá um truncamento.
É muito fácil automatizar isso criando um SQL dinâmico a partir das tabelas de metadados, dependendo exatamente de quais tabelas você precisa segmentar. O acima é apenas uma amostra para demonstrar como isso é feito para uma única tabela. Por exemplo, isso fará isso para cada tabela que for alvo de uma chave estrangeira e tiver uma
IDENTITY
coluna:Pode ser que a saída fique truncada, mas isso é apenas uma limitação de
PRINT
(8K) - o comando real está completo.PS isso pressupõe o SQL Server 2005 ou superior. Sempre útil especificar sua versão como parte de sua pergunta (geralmente com uma tag).