Just for personal reference
USE [mydb]
GO
WHILE(EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='FOREIGN KEY'))
BEGIN
DECLARE @sql0 NVARCHAR(2000)
SELECT TOP 1 @sql0=('ALTER TABLE [' + TABLE_SCHEMA + '].[' + TABLE_NAME
+ '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']')
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
EXEC (@sql0)
PRINT @sql0
END
GO
DECLARE @sql1 NVARCHAR(2000)
DECLARE @sql2 NVARCHAR(2000)
WHILE(EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.TABLES))
BEGIN
DECLARE c1 CURSOR FOR
SELECT
('DROP TABLE [' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']') as sql1,
('DROP VIEW [' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']') as sql2
FROM INFORMATION_SCHEMA.TABLES
OPEN c1
FETCH NEXT FROM c1 INTO @sql1, @sql2
WHILE @@FETCH_STATUS <> -1
BEGIN
EXEC (@sql1)
PRINT @sql1
EXEC (@sql2)
PRINT @sql2
FETCH NEXT FROM c1 INTO @sql1, @sql2
END
DEALLOCATE c1
END
GO