用约束条件截断SQL Server中的表,DBCC CheckIdent替代方法太慢,现在约束冲突

时间:2018-10-29 22:02:32

标签: sql sql-server tsql

如果我要截断该表,则会出现错误

truncate table  Mfr.datasources

错误:

  

无法截断表“ Mfr.datasources”,因为它已被FOREIGN KEY约束引用。

我过去曾经使用过这样的代码很幸运

DELETE FROM [MFR].[datasources]
DBCC CHECKIDENT ('[MFR].[datasources]', RESEED, 0)

但是此表根本不喜欢该表,并且在4分钟后显示了此错误。

  

DELETE语句与REFERENCE约束“ FK_FundPosition_DataSources”冲突。在数据库“ BreakManagement”的表“ MFR.FundPositions”的“ SourceID”列中发生了冲突。   该声明已终止。

     

检查身份信息:当前身份值'12419'。

这将是SSIS程序包的一部分,在该程序包中,将DEV中的表截断,然后从PROD中将其水化。

我应该删除约束,然后将其重新添加吗?那是最好的方法吗?那会是什么样?

0 个答案:

没有答案