Você tem duas opções reais aqui, é possível desativar as restrições na tabela. Isso geralmente não é uma ótima idéia, pois você pode acabar com uma condição de dados incorreta se estiver mexendo com dados relacionados a outras tabelas, mas não conhece toda a extensão do seu esquema e pode atender aos seus propósitos:
ALTER TABLE [workdemo.no].[dbo].[M06Persons] NOCHECK CONSTRAINT [FK_M02ArticlePersons_M06Persons]
Lembre-se de ativar a restrição novamente após a exclusão com
ALTER TABLE [workdemo.no].[dbo].[M06Persons] WITH CHECK CHECK CONSTRAINT [FK_M02ArticlePersons_M06Persons]
A segunda opção seria descartar e adicionar novamente a restrição com a opção ON DELETE CASCADE usando:
ALTER TABLE [workdemo.no].[dbo].[M06Persons] DROP CONSTRAINT [FK_M02ArticlePersons_M06Persons]
ALTER TABLE [workdemo.no].[dbo].[M06Persons] WITH NOCHECK ADD CONSTRAINT [FK_M02ArticlePersons_M06Persons] FOREIGN KEY(M06PersonId)
REFERENCES <parent table here> (<parent column here>)
ON DELETE CASCADE
Com base no seu nome FK, parece que sua tabela pai é M02ArticlePersons e a coluna pai é M06Persons.
Se você não criou este esquema, tente considerar por que as restrições podem estar presentes e entenda que violá-las dessa maneira pode ter efeitos colaterais indesejados.
Há outra opção manual também:
Você pode ir para a tabela filho e excluir as linhas filho referenciadas pela chave pai. Então você pode excluir a linha pai. Isso é essencialmente o que a exclusão em cascata faz. Dessa forma, você não precisa eliminar / recriar / alterar suas restrições.
fonte
Esse pequeno código ajudará em qualquer tabela da qual você deseja excluir registros. Ele cuida da integridade referencial também ...
O código abaixo irá gerar instruções DELETE. Basta especificar o schema.table_Name
fonte