2017-02-24 1 views
0

SQL 서버 데이터베이스의 모든 키 제약 조건에 대해 스크립트를 생성하고 드롭해야합니다. 이 연습은 대상 환경에서 데이터베이스에 대한 업그레이드 스크립트를 생성하는 것입니다. 내가 스크립트를 가지고 있지만, 그것의 실패는 내가 부모, 자식 테이블 수준과 같은 데이터베이스 객체의 올바른 순서를 찾아야 만하기 때문이다. 예를 들어, 상자/드롭 인덱스로, 기본적으로 내가 아래 쿼리를 사용하여 인덱스를 캡처 SQL 서버 데이터베이스의 키, 제약 조건에 대한 drop-create sql 스크립트 생성

은 우리가 인덱스의 주문/레벨을 포함 할 방법을 알려주십시오. 마찬가지로 스크립트를 생성하는 동안 기본, 외부, 제약 조건을 확인해야합니다.

이 정보를 제대로 캡처하는 방법을 알려주십시오.

+0

가능한 복제본 [SQL Server Management Studio 2008에서 "스크립트 생성"작업을 자동화하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/483568/how-can-i) -automate-the-generate-scripts-task-in-sql-server-management-studio-2) – TheGameiswar

+0

고마워요,하지만 이들은 새로운 데이터베이스를위한 스크립트를 작성하고 ifnot이 추가되어야하며 데이터베이스 전용 스크립트를 작성하고 삭제해야합니다. 대상 환경을위한 업그레이드 –

+0

http://dba.stackexchange.com/a/24842/44324 및 http://stackoverflow.com/a/31191116/2224701을 참조하십시오. –

답변

0

모든 FK 등이있는 경우 sys.dependencies를 사용하여 올바른 순서를 알아낼 수 있습니다. 한 가지 게으른 방법은 스크립트를 계속 실행하는 것입니다. 스크립트는 결국 모두 성공합니다. 예를 들어, 테이블 1을 생성하는 것이 테이블 2에 달려 있다면 처음으로 테이블 2를 생성하고 테이블 2를 생성합니다. 쉽게 스크립트 할 수 있습니다 ...

관련 문제