Вы можете предпринять следующие шаги:
-- 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"
Подробнее об отключении ограничений и триггеров здесь
если в некоторых таблицах есть столбцы идентификаторов, мы можем захотеть их заполнить заново
EXEC sp_MSforeachtable "DBCC CHECKIDENT ( '?', RESEED, 0)"
Обратите внимание, что поведение RESEED отличается в новой таблице и в таблице, в которую ранее была вставлена некоторая дата из BOL :
ПРОВЕРКА DBCC ('имя_таблицы', RESEED, newReseedValue)
Текущее значение идентификатора установлено на
newReseedValue. Если нет строк
был вставлен в таблицу, так как
был создан, первая строка вставлена
после выполнения DBCC CHECKIDENT будет
используйте newReseedValue в качестве идентификатора.
В противном случае следующая вставленная строка будет
используйте newReseedValue + 1. Если значение
newReseedValue меньше, чем
максимальное значение в столбце идентичности,
сообщение об ошибке 2627 будет сгенерировано
по последующим ссылкам на таблицу.