이 항목에서는 데이터베이스 참조 추가 대화 상자에서 수행할 수 있는 절차에 대해 설명합니다.
데이터베이스 참조를 통해 다음을 수행할 수 있습니다.
다른 데이터베이스의 개체에 액세스합니다.
세 부분 또는 네 부분으로 구성된 이름 확인을 사용하여 프로젝트에서 서버의 다른 데이터베이스를 참조할 수 있습니다.참조를 위해 세 부분 또는 네 부분으로 구성된 이름을 사용할 경우 SQLCMD 변수를 사용하여 여러 서버 및 데이터베이스에서 참조를 작동하도록 할 수 있습니다.여러 데이터베이스 프로젝트의 복합 솔루션을 만듭니다.
복합 프로젝트에서 데이터베이스 참조는 큰 데이터베이스를 여러 개의 별도 프로젝트로 파티션을 나눕니다.하나 및 두 개의 부분으로 구성된 이름만 사용하는 데이터베이스 또는 서버에 대한 변수 또는 값을 포함하지 않는 참조를 만듭니다.
현재 솔루션의 데이터베이스 프로젝트 또는 DACPAC에 대한 데이터베이스 참조를 만들 수 있습니다.프로젝트에 데이터베이스 참조를 추가하면 프로젝트 종속성 및 빌드 순서가 변경됩니다.
참조에 대한 데이터베이스 선택
동일한 솔루션의 다른 데이터베이스 프로젝트, 시스템 데이터베이스 또는 DACPAC를 참조할 수 있습니다.
솔루션에 둘 이상의 데이터베이스 프로젝트가 있는 경우 현재 솔루션의 데이터베이스 프로젝트가 활성화됩니다.솔루션의 다른 데이터베이스를 참조할 수 있습니다.
시스템 데이터베이스 중 하나를 데이터베이스 참조로 선택하려는 경우 시스템 데이터베이스를 선택합니다.
**데이터 계층 응용 프로그램(.dacpac)**을 선택하여 DACPAC의 데이터베이스를 참조하고 DACPAC 파일이 있는 디렉터리로 이동합니다.
데이터베이스의 상대적 위치 선택
참조할 데이터베이스를 선택한 후 데이터베이스 개체의 참조 중인 프로젝트에 상대적인 예상 위치를 지정할 수 있습니다.
다음 위치 중 하나에서 개체에 대한 참조를 확인할 수 있습니다.
참조 중인 데이터베이스에서
참조 중인 데이터베이스가 아닌 데이터베이스에서(동일한 서버에 있음)
참조 중인 데이터베이스가 아닌 데이터베이스에서(다른 서버에 있음)
데이터베이스 이름을 지정하십시오.시스템 데이터베이스를 선택했다면 시스템 데이터베이스 리터럴을 수정하면 안 됩니다.현재 솔루션의 데이터베이스 프로젝트를 선택했다면 데이터베이스의 기본 이름이 프로젝트의 데이터베이스 이름을 기반으로 합니다.
다른 데이터베이스, 다른 서버를 선택했다면 서버 이름을 지정하십시오.
(SQLCMD) 데이터베이스 변수를 사용할 수 있습니다.리터럴 이름이 아닌 변수를 가진 데이터베이스를 참조하려면 기본 데이터베이스 변수를 적용하거나 수정합니다.여러 서버 및 데이터베이스에서 데이터베이스 프로젝트를 게시할 경우 데이터베이스 변수가 유용합니다.이 경우 개발자는 프로젝트의 자산 페이지에 있는 SQLCMD 변수로 이동하여 데이터베이스의 로컬 이름을 지정할 수 있습니다.데이터베이스 변수를 비워 두면 데이터베이스를 리터럴 이름으로만 참조할 수 있습니다.데이터베이스 변수 이름을 지정하는 경우 데이터베이스를 리터럴 이름으로 참조할 수 없습니다.
다른 데이터베이스, 다른 서버를 선택한 경우 (SQLCMD) 서버 변수가 필요합니다.여러 서버 및 데이터베이스에서 데이터베이스 프로젝트를 게시하려면 서버 변수가 유용합니다.이 경우 개발자는 프로젝트의 자산 페이지에 있는 SQLCMD 변수로 이동하여 서버의 로컬 이름을 지정할 수 있습니다.서버 이름이 아닌 변수를 가진 서버만 참조할 수 있습니다.
중요
상황에 따라 기존 데이터베이스 참조와 동일한 이름을 가진 데이터베이스 참조를 만들 수 있습니다.동일한 이름을 가진 두 데이터베이스 참조가 있는 경우 예기치 못한 동작이 발생할 수 있습니다.이 경우 두 데이터베이스 참조를 삭제하십시오.
일반적인 절차
일반적인 절차는 다음과 같습니다.
동일한 서버에 데이터베이스에 대한 참조를 만들려면
솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭하고 데이터베이스 참조 추가를 선택합니다.
데이터베이스 참조 추가 대화 상자에서 데이터베이스 위치를 다른 데이터베이스, 동일한 서버로 지정합니다.
데이터베이스의 이름을 지정합니다.
데이터베이스 변수를 사용할지 여부를 결정합니다.
사용 예를 복사하여 .sql 파일에 붙여 넣습니다.사용 예에서 [Schema1]을 스키마의 이름(예: [dbo])으로 변경합니다.또한 데이터베이스 개체의 이름을 프로젝트에 적합한 이름으로 수정합니다.
솔루션을 빌드합니다.
다른 서버에 데이터베이스에 대한 참조를 만들려면
솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭하고 데이터베이스 참조 추가를 선택합니다.
데이터베이스 참조 추가 대화 상자에서 데이터베이스 위치를 다른 데이터베이스, 다른 서버로 지정합니다.
데이터베이스 이름이 올바른지 확인합니다.
데이터베이스 변수를 사용할지 여부를 결정합니다.
서버 이름과 서버 변수를 지정합니다.
사용 예를 복사하여 .sql 파일에 붙여 넣습니다.사용 예에서 [Schema1]을 스키마의 이름(예: [dbo])으로 변경합니다.또한 데이터베이스 개체의 이름을 프로젝트에 적합한 이름으로 수정합니다.
솔루션을 빌드합니다.
복합 프로젝트를 만들려면
솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭하고 데이터베이스 참조 추가를 선택합니다.
참조 중인 데이터베이스의 원본(솔루션 또는 DACPAC의 프로젝트)를 선택합니다.
데이터베이스 참조 추가 대화 상자에서 데이터베이스 위치를 동일한 데이터베이스로 지정합니다.
사용 예를 복사하여 .sql 파일에 붙여 넣습니다.사용 예에서 [Schema1]을 스키마의 이름으로 변경합니다.또한 데이터베이스 개체의 이름을 프로젝트에 적합한 이름으로 수정합니다.
솔루션을 빌드합니다.
이 프로젝트를 게시하는 경우 동일한 솔루션의 복합 프로젝트를 단일 대상으로 배포할 수 있습니다.
솔루션 탐색기의 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 게시를 선택하여 데이터베이스 게시 대화 상자를 표시합니다.
데이터베이스 게시 대화 상자에서 고급을 클릭합니다.
고급 게시 설정 대화 상자에서 고급 배포 옵션 목록에 복합 개체 포함이 선택되어 있는지 확인합니다.