답변:
클라이언트 응용 프로그램은 Microsoft SQL Server 2005 인스턴스에 연결하여 SQL Server 데이터베이스와 함께 작동합니다. 각 SQL Server 인스턴스는 고유 한 설정을 가질 수있는 고유 한 서비스 집합으로 구성됩니다. 디렉토리 구조, 레지스트리 구조 및 서비스 이름은 모두 설정 중에 식별 한 특정 인스턴스 이름을 반영합니다.
인스턴스는 명명되지 않은 기본 인스턴스이거나 명명 된 인스턴스입니다. SQL Server 2005가 기본 인스턴스에 설치되어 있으면 클라이언트가 인스턴스 이름을 지정하여 연결하지 않아도됩니다. 클라이언트는 서버 이름 만 알고 있으면됩니다.
명명 된 인스턴스는 컴퓨터의 네트워크 이름과 설치 중에 지정한 인스턴스 이름으로 식별됩니다. 클라이언트는 연결할 때 서버 이름과 인스턴스 이름을 모두 지정해야합니다.
인스턴스 이름을 지정하지 않으면 기본적으로 SQL Server는 기본 인스턴스에 설치됩니다. 그러나 설치하는 동안 기본 설치를 강제 실행하지 않는 한 SQL Server Express는 항상 명명 된 인스턴스에 설치됩니다.
또한 하나의 기본 (이름없는 인스턴스) 만 설치할 수 있지만 많은 명명 된 인스턴스를 설치할 수 있습니다.
많은 타사 소프트웨어는 일반적으로 언급되지 않은 기본 명명 된 인스턴스를 사용합니다. 그 이유는 위의 답변에서 분명합니다. 표준 버전은 기본적으로 명명되지 않은 인스턴스를 설치하고 Express 버전은 기본적으로 명명 된 인스턴스를 설치합니다.
2 개 또는 3 개의 DB 서버가 실행중인 경우 올바른 버전에 연결하지 못할 수 있으므로이 관점과의 차이점에 대해 알아야합니다. 타사 소프트웨어는 기본 인스턴스를 찾고 있기 때문에 연결하려는 SQLEXPRESS 인스턴스라고 생각합니다. 명명 된 인스턴스와 명명되지 않은 인스턴스에 연결하는 방법을 모르면 문제 해결 시간을 크게 늘릴 수 있습니다.
따라서 명명 된 또는 명명되지 않은 버전에 연결하려면 다음 지침을 따르십시오.
MY-MACHINE-NAME\SQLEXPRESS /* named version - correct */
MY-MACHINE-NAME /* unnamed version (default instance) - correct */
MY-MACHINE-NAME\MSSQLSERVER /* unnamed version (default instance) - Wrong */
기본 인스턴스는 이름이 있지만 이름으로 참조 할 수 없습니다!
가장 좋은 이유 중 하나는 데이터베이스 분리입니다. 자체 응용 프로그램을 개발하고 SQL Express를 패키징하는 경우 자체 인스턴스에 설치하는 것이 좋습니다. 또한 사용자에게 기존 SQL 설치를 지정할 수있는 옵션을 제공합니다.
다른 사람이 액세스하지 못하도록하는 데 중요한 데이터베이스가있는 경우 보안 권한이 매우 제한된 자체 인스턴스로 이동할 수 있습니다. 그것이 당신의 prodcution DB라고 말한 다음 사람들에게만 읽히는 동일한 서버 **의보고 DB로 복제합니다. 프로덕션 인스턴스의 보안 그룹을 실제로 소수의 사람으로 만 업데이트 할 수있는 사람을 제한하여 사용자가 실수로 프로덕션 DB에 액세스 할 수있는 사용자 (관리자) 오류는 적습니다.
** 좋은 습관은보고 서버를 별도의 컴퓨터로 만드는 것이지만, 나는 단지 이것을 예로 들어서하고 있습니다.