• I normally prefer to script the creation of all constraints and use something like this procedure to drop them when needed

    😎

    CREATE PROCEDURE [dbo].[DROP_SCHEMA_CONSTRAINTS]

    (

    @TABLE_SCHEMANVARCHAR(128)

    )

    AS

    /*

    DECLARE @TABLE_SCHEMANVARCHAR(128) = N'myschema'

    EXEC dbo.DROP_SCHEMA_CONSTRAINTS @TABLE_SCHEMA

    */

    DECLARE @SQL_STRNVARCHAR(MAX) = N'';

    SELECT @SQL_STR = (SELECT N'ALTER TABLE'

    + T.TABLE_SCHEMA + N'.'

    + T.TABLE_NAME + N' DROP CONSTRAINT '

    + T.CONSTRAINT_NAME + N'-- ' + T.CONSTRAINT_TYPE + N'

    '

    FROM

    (

    SELECT OBJECT_NAME(OBJECT_ID)AS CONSTRAINT_NAME,

    SCHEMA_NAME(schema_id)AS TABLE_SCHEMA,

    OBJECT_NAME(parent_object_id)AS TABLE_NAME,

    type_descAS CONSTRAINT_TYPE

    FROM sys.objects

    WHERE type_desc LIKE '%CONSTRAINT'

    AND type_desc NOT LIKE 'PRIMARY_KEY%'

    ) AS T

    WHERE T.TABLE_SCHEMA = @TABLE_SCHEMA

    FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)');

    EXEC (@SQL_STR);