Vous pouvez prendre les mesures suivantes:
-- disable all foreign key constraints
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
-- delete data in all tables
EXEC sp_MSForEachTable "DELETE FROM ?"
-- enable all constraints
exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
En savoir plus sur si certaines des tables ont des colonnes d'identité invalidantes des contraintes et des déclencheurs here
on peut vouloir les réensemencer
EXEC sp_MSforeachtable "DBCC CHECKIDENT ('?', RESEED, 0)"
Notez que le comportement de RESEED diffère entre une nouvelle table et une autre qui avait déjà été insérée précédemment à partir de BOL:
DBCC CHECKIDENT ('table_name', RESEED, newReseedValue)
La valeur d'identité en cours est réglé sur la newReseedValue. Si aucune ligne n'a été insérée dans la table depuis que a été créée, la première ligne insérée après l'exécution de DBCC CHECKIDENT utilisera newReseedValue comme identité. Sinon, la ligne suivante insérée sera utilisation newReseedValue + 1. Si la valeur de newReseedValue est inférieure à la valeur maximale dans la colonne d'identité, message d'erreur 2627 sera générée sur les références suivantes à la table.
fonctionne parfaitement comme j'avais besoin. Merci – Jronny