Sql server 2008 在SQL Server 2008中启用数据库约束

Sql server 2008 在SQL Server 2008中启用数据库约束,sql-server-2008,tsql,constraints,Sql Server 2008,Tsql,Constraints,我正在使用SQL Server 2008 我使用这个查询来禁用整个数据库的约束,我认为这个查询是正确的 禁用- USE geoAllCase; GO EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all" 它成功地运行了 使能 USE geoAllCase; GO EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all" 之后,数据库

我正在使用SQL Server 2008

我使用这个查询来禁用整个数据库的约束,我认为这个查询是正确的

禁用-

 USE geoAllCase; 
 GO EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
它成功地运行了

使能

USE geoAllCase; 
GO EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
之后,数据库成功地复制了数据,但当我再次启用所有约束时,我遇到了这个错误消息,我如何对数据库的现有数据启用外键约束

错误消息-

Msg 547,16级,状态0,第1行 ALTERTABLE语句 与外键约束“FK_MP_GN_LE_V”冲突。这个 数据库“geo2”表“dbo.TGEO_EDGE_V”列中发生冲突 “GEO_EDGE_UID”



表dbo.TGEO_EDGE_V中的列GEO_EDGE_UID包含违反FK_MP_GN_LE_V外键约束的数据。如果不首先清理数据,就无法重新启用该约束。

表dbo.TGEO\u EDGE\u V中的列GEO\u EDGE\u UID包含违反FK\u MP\u gnu LE\u V外键约束的数据。如果不首先清理数据,就无法重新启用该约束。

表dbo.TGEO\u EDGE\u V中的列GEO\u EDGE\u UID包含违反FK\u MP\u gnu LE\u V外键约束的数据。如果不首先清理数据,就无法重新启用该约束。

表dbo.TGEO\u EDGE\u V中的列GEO\u EDGE\u UID包含违反FK\u MP\u gnu LE\u V外键约束的数据。如果不首先清理数据,就无法重新启用该约束。

我不知道您的业务规则/要求。因此,我权威性地建议你如何在没有更多细节的情况下解决这个问题。这就是为什么一开始就摆脱约束是个糟糕的主意。最好在将数据放入数据库之前解决数据问题。您拥有的数据毫无意义,因为它没有与父记录相关的数据。现在,您需要解决您首先跳过解决的数据问题。没关系。。。。但实际上我必须这样做,否则我会遇到很多问题。请告诉我是否有任何sql查询可以启用约束并保留原始记录???@HLGEM…我正在使用一个查询来启用约束是-'GO EXEC sp_msforeachtable“ALTER TABLE”?带有CHECK CONSTRAINT all“'。实际上,在父表中只有两条记录,在子表中有三条记录,所以我应该怎么做,因为我必须保留所有记录和约束,并启用约束。嗯,我不知道您的业务规则/要求。因此,我权威性地建议你如何在没有更多细节的情况下解决这个问题。这就是为什么一开始就摆脱约束是个糟糕的主意。最好在将数据放入数据库之前解决数据问题。您拥有的数据毫无意义,因为它没有与父记录相关的数据。现在,您需要解决您首先跳过解决的数据问题。没关系。。。。但实际上我必须这样做,否则我会遇到很多问题。请告诉我是否有任何sql查询可以启用约束并保留原始记录???@HLGEM…我正在使用一个查询来启用约束是-'GO EXEC sp_msforeachtable“ALTER TABLE”?带有CHECK CONSTRAINT all“'。实际上,在父表中只有两条记录,在子表中有三条记录,所以我应该怎么做,因为我必须保留所有记录和约束,并启用约束。嗯,我不知道您的业务规则/要求。因此,我权威性地建议你如何在没有更多细节的情况下解决这个问题。这就是为什么一开始就摆脱约束是个糟糕的主意。最好在将数据放入数据库之前解决数据问题。您拥有的数据毫无意义,因为它没有与父记录相关的数据。现在,您需要解决您首先跳过解决的数据问题。没关系。。。。但实际上我必须这样做,否则我会遇到很多问题。请告诉我是否有任何sql查询可以启用约束并保留原始记录???@HLGEM…我正在使用一个查询来启用约束是-'GO EXEC sp_msforeachtable“ALTER TABLE”?带有CHECK CONSTRAINT all“'。实际上,在父表中只有两条记录,在子表中有三条记录,所以我应该怎么做,因为我必须保留所有记录和约束,并启用约束。嗯,我不知道您的业务规则/要求。因此,我权威性地建议你如何在没有更多细节的情况下解决这个问题。这就是为什么一开始就摆脱约束是个糟糕的主意。最好在将数据放入数据库之前解决数据问题。您拥有的数据毫无意义,因为它没有与父记录相关的数据。现在,您需要解决您首先跳过解决的数据问题。没关系。。。。但实际上我必须这样做,否则我会遇到很多问题。请告诉我是否有任何sql查询可以启用约束并保留原始记录???@HLGEM…我正在使用一个查询来启用约束是-'GO EXEC sp_msforeachtable“ALTER TABLE”?带有CHECK CONSTRAINT all“'。实际上,在父表中只有两条记录,在子表中有三条记录,所以我应该怎么做,因为我必须保留所有记录和约束,并启用约束。