Se você deseja desabilitar todas as restrições no banco de dados, basta executar este código:
-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
Para ligá-los novamente, execute:(o print é opcional, claro, e está apenas listando as tabelas)
-- enable all constraints
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
Acho útil ao preencher dados de um banco de dados para outro. É uma abordagem muito melhor do que descartar restrições. Como você mencionou, é útil ao descartar todos os dados no banco de dados e repovoá-lo (digamos, no ambiente de teste).
Se você estiver excluindo todos os dados, essa solução pode ser útil.
Às vezes, também é útil desativar todos os gatilhos, você pode ver a solução completa aqui.