2
하나의 데이터베이스에서 다른 데이터베이스로 모든 데이터를 복사하려고하지만 쉽게 삽입 할 수없는 외래 키가 많은 문제가 있습니다. 외래 키를 비활성화하고 데이터를 삽입 한 다음 다시 활성화하려고합니다. 가장 쉬운 방법은 무엇입니까?SQL 서버에서 임시로 제약 조건 해제
감사합니다, 이반
하나의 데이터베이스에서 다른 데이터베이스로 모든 데이터를 복사하려고하지만 쉽게 삽입 할 수없는 외래 키가 많은 문제가 있습니다. 외래 키를 비활성화하고 데이터를 삽입 한 다음 다시 활성화하려고합니다. 가장 쉬운 방법은 무엇입니까?SQL 서버에서 임시로 제약 조건 해제
감사합니다, 이반
-- disable the check_sale constraint in the employee table
ALTER TABLE employee NOCHECK CONSTRAINT check_sale
-- enable the check_sale constraint in the employee table
ALTER TABLE employee WITH CHECK CHECK CONSTRAINT check_sale
모든 제약 조건을 검색하고 그들 모두를 비활성화 할 수 있습니다 스크립트 범위가 여러 테이블 경우.
USE AdventureWorks;
GO
SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT'
GO
http://www.mssqlcity.com/Articles/General/using_constraints.htm
이 신뢰할 수없는 상태를 벗어나게됩니다. 'WITH CHECK' 옵션을 사용하여 쿼리 최적화 프로그램이이를 사용할 수 있도록해야합니다. c.f. [통계 및 쿼리 최적화 도구에 대해 알아야 할 13 가지 사항] (http://www.simple-talk.com/sql/t-sql-programming/13-things-you-should-know-about-statistics-and- the-query-optimizer /)는 9와 10을 가리킨다. –
데이터가 유효하지 않을 것이라는 점은 분명하다. –
다시 활성화하는 방법은 문제입니다. 자세한 내용은 여기 http://www.mssqltips.com/tip.asp?tip=1539 –