-- disable all constraints
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
-- enable all constraints
EXEC sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
-- Drop Foreign Keys
DECLARE @tname nvarchar(50), @cname nvarchar(50), @cmd nvarchar(max)
DECLARE constraint_cursor CURSOR FOR
SELECT
OBJECT_NAME(parent_boject_id) as [tablename]
,OBJECT_NAME(object_id) as [constraint]FROM sys.foreign_keys
OPEN constraint_cursor
FETCH NEXT FROM constraint_cursor INTO @tname, @cname
IF @@FETCH_STATUS <> 0
PRINT 'NOTE: sys.foreign_keys <>'
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @tname = '[dbo].[' + @tname + ']'
SELECT @cname = '[' + @cname + ']'
SELECT @cmd = 'ALTER TABLE ' + @tname + ' DROP CONSTRAINT ' + @cname
EXEC (@cmd)
PRINT 'SUCCESS: ' + @cmd
FETCH NEXT FROM constraint_cursor INTO @tname, @cname
END
CLOSE constraint_cursor
DEALLOCATE contraint_cursor