Как удалить все таблицы из MSSQL

Появилась задача дропнуть все таблицы из базы данных MSSQL не удаляя и создавая базу данных.

DECLARE @Sql NVARCHAR(500) DECLARE @Cursor CURSOR

SET @Cursor = CURSOR FAST_FORWARD FOR
SELECT DISTINCT sql = 'ALTER TABLE [' + tc2.TABLE_NAME + '] DROP [' + rc1.CONSTRAINT_NAME + ']'
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON tc2.CONSTRAINT_NAME =rc1.CONSTRAINT_NAME

OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql

WHILE (@@FETCH_STATUS = 0)
BEGIN
Exec SP_EXECUTESQL @Sql
FETCH NEXT FROM @Cursor INTO @Sql
END

CLOSE @Cursor DEALLOCATE @Cursor
GO

EXEC sp_MSForEachTable 'DROP TABLE ?'
GO

T-SQL: Таблицы Inserted/Deleted

Полезная такая шпаргалка:

Изменения во временных таблицах при срабатывании триггеров в T-SQL:

Operation Table Inserted Table Deleted
Min Rows Max Rows Min Rows Max Rows
Insert 1 0 0
Update 1 N 1 N
Delete 0 0 1 N

Где N — количество строк в таблице, к которой привязан триггер