53 lines
1.4 KiB
Transact-SQL
53 lines
1.4 KiB
Transact-SQL
DECLARE @sql NVARCHAR(max)=''
|
|
|
|
--dropping views
|
|
SET @sql = '';
|
|
|
|
SELECT @sql += ' Drop view ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(v.NAME) + '; '
|
|
FROM sys.views v
|
|
JOIN sys.schemas s
|
|
ON v.[schema_id] = s.[schema_id]
|
|
WHERE v.is_ms_shipped = 0
|
|
|
|
EXEC sp_executesql @sql
|
|
|
|
--dropping foreign keys
|
|
SET @sql = '';
|
|
SELECT @sql += 'Alter table ' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + ' drop constraint ' + QUOTENAME(fk.name) +'; '
|
|
FROM sys.foreign_keys AS fk
|
|
JOIN sys.tables AS t
|
|
ON t.object_id = fk.parent_object_id
|
|
JOIN sys.schemas AS s
|
|
ON s.schema_id = t.schema_id
|
|
|
|
Exec sp_executesql @sql
|
|
|
|
--dropping prinary and unique keys
|
|
SET @sql = '';
|
|
SELECT @sql += 'Alter table ' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + ' drop constraint ' + QUOTENAME(kc.name) +'; '
|
|
FROM sys.key_constraints AS kc
|
|
JOIN sys.tables AS t
|
|
ON t.object_id = kc.parent_object_id
|
|
JOIN sys.schemas AS s
|
|
ON s.schema_id = t.schema_id
|
|
|
|
EXEC sp_executesql @sql
|
|
|
|
--dropping tables
|
|
SET @sql = '';
|
|
SELECT @sql += ' Drop table ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(t.NAME) + '; '
|
|
FROM sys.tables AS t
|
|
JOIN sys.schemas AS s
|
|
ON t.[schema_id] = s.[schema_id]
|
|
WHERE t.type = 'U'
|
|
|
|
EXEC sp_executesql @sql
|
|
|
|
--removing application user
|
|
SET @sql = '';
|
|
SELECT @sql += 'drop user ' + QUOTENAME(p.name)
|
|
FROM sys.database_principals AS p
|
|
WHERE p.authentication_type = 2
|
|
|
|
EXEC sp_executesql @sql
|