데이터베이스와 GUI 모두 '원 클릭'설치가 어렵습니다. 그러나 배포 항목을 버전 관리하거나 타임 스탬프를 사용하여 항목을 함께 보관할 수 있습니다. 소스는 롤백 할 수 있도록 해당 항목을 제어하고 필요할 때마다 필요한 버전을 가져옵니다. 배포를 하나의 단위로 연결하기 위해 GUI 구성 요소와 함께 버전 번호 또는 타임 스탬프를 묶는 방법이 있습니다.
예를 들어 변경 db 스크립트 (FooTable v100, v101, v102)를 버전 화하거나 타임 스탬프를 적용한 다음 소스 제어로 체크인 할 수 있습니다. 여러 유형의 구성 데이터베이스에 다양한 연결을 저장하십시오. 내 작업에서는 SharePoint 목록을 사용하여 배포 항목을 항목별로 지정하고 SharePoint 목록 항목 참조를 사용하여 특정 변경 사항에 대한 모든 다른 항목을 함께 참조합니다. 모든 것이 통제 된 소스이므로 필요에 따라 특정 변경 사항에 대한 배포 항목을 쉽게 파악하고 검색 할 수 있습니다. 내가 다른 컴퓨터에 내 데이터베이스를 연결하면
당신은
데이터 원본 = myServerAddress 같이 신뢰할 수있는 연결을 사용하는 연결 문자열을 사용할 수 있습니다 초기 카탈로그 = MYDATABASE; 통합 보안 = SSPI;
그래서 각 환경에 다른 사용자 이름과 PW를 포함 할 필요가 없습니다. 각 환경 서버의 machine.config 또는 web.config에 서버 및 데이터베이스 이름을 저장할 수 있습니다.초기 카탈로그 = myDevDataBase; 통합 보안 = SSPI
그래서 DEV에서 ConnectionString을이
데이터 원본 = myDevServer 될 수있다;
시험에
:
데이터 원본 = myTestServer; 초기 카탈로그 = 다음 MyTestDatabase; 통합 보안 = SSPI;
서버의 구성 파일에 저장하면 패키지 내에서 변경할 필요가 없습니다.
패키지와 함께 해당 설정을 저장해야하는 경우 배치하는 환경에 따라 설정을 동적으로 변경하는 기술을 사용해야합니다. 예를 들어, 환경 변수를 사용하여 현재 환경을 판별하여 구성을 동적으로 변경하기 위해 실행할 코드를 알 수 있습니다. 또는 코드 대신 XSLT를 사용하여 XML 구성을 변경할 수 있습니다. MSI에서 설치/제거시 실행할 수있는 사용자 지정 작업이 있습니다. 배치시 필요에 따라 구성을 변경하기위한 코드를 추가 할 수 있습니다.
마찬가지로 데이터베이스 스크립트 자체는 배포 할 환경에 따라 변경할 수 있습니다. SQLCMD 변수를 사용하여 SQL 코드를 동적으로 변경할 수 있습니다 (특히 3 및 4 부분 이름 지정 참조의 데이터베이스 및 서버 이름, 즉 devlinkserver 및 devdb를 바꾸면 devlinkserver.devdb.dbo.foo가 testlnkserver.testdb.dbo.foo로 변경 될 수 있음) SQLCML 변수 포함).
@@ IF SERVER = 'somedevdbserver'
SET를 : linkserver = 'DevDBServer'
@@ 서버는 IF 당신이 배포하는 환경에 따라 필요에 따라 변수 값을 변경할 수 SQLCMDs 스크립트를 사용하여 = 'sometestserver'
SET : linkserver = 'testDBServer'는 등
...
요약하면, 많은 유지 구성은 모든 환경에서 할 수있는 것과 동일합니다. 위에 설명 된 다양한 기술을 사용하여 각 환경에서 다를 필요가있는 부품에 필요한대로 구성을 동적으로 변경하십시오.
영화 예약 시스템을 만드는 경우 SQL Server 인스턴스 하나 (예 : 서버)를 가져 와서 모든 클라이언트 응용 프로그램에서 네트워크를 통해 가리 키지 않아야합니까? 모든 컴퓨터에 SQL Server를 설치할 필요가 없습니다. – Polynomial
새로 설치된 컴퓨터에서 SQL 서비스가 실행되고 있는지 확인 했습니까? –
지금 서버/인스턴스 이름은 어디에서 가져 왔습니까? 구성 파일은 일반적인 방법입니다. 데이터베이스가 어디에 있는지 알 필요가 없으면 코드에 상관 없습니다. 그것은 당신이하고있는 일에 현명한 배치가 될 수있는 잠재적 인 다른 문제들이 있다고 말했습니다. –