SQL Server : 명명 된 인스턴스와 기본 인스턴스는 무엇입니까?


34

명명 된 인스턴스와 기본 인스턴스는 무엇입니까? 그들 사이의 차이점은 무엇입니까? 왜 사용됩니까?

답변:


29

명명 된 대 기본에 관한 Microsoft에 따르면

클라이언트 응용 프로그램은 Microsoft SQL Server 2005 인스턴스에 연결하여 SQL Server 데이터베이스와 함께 작동합니다. 각 SQL Server 인스턴스는 고유 한 설정을 가질 수있는 고유 한 서비스 집합으로 구성됩니다. 디렉토리 구조, 레지스트리 구조 및 서비스 이름은 모두 설정 중에 식별 한 특정 인스턴스 이름을 반영합니다.

인스턴스는 명명되지 않은 기본 인스턴스이거나 명명 된 인스턴스입니다. SQL Server 2005가 기본 인스턴스에 설치되어 있으면 클라이언트가 인스턴스 이름을 지정하여 연결하지 않아도됩니다. 클라이언트는 서버 이름 만 알고 있으면됩니다.

명명 된 인스턴스는 컴퓨터의 네트워크 이름과 설치 중에 지정한 인스턴스 이름으로 식별됩니다. 클라이언트는 연결할 때 서버 이름과 인스턴스 이름을 모두 지정해야합니다.

인스턴스 이름을 지정하지 않으면 기본적으로 SQL Server는 기본 인스턴스에 설치됩니다. 그러나 설치하는 동안 기본 설치를 강제 실행하지 않는 한 SQL Server Express는 항상 명명 된 인스턴스에 설치됩니다.


17

또한 하나의 기본 (이름없는 인스턴스) 만 설치할 수 있지만 많은 명명 된 인스턴스를 설치할 수 있습니다.

많은 타사 소프트웨어는 일반적으로 언급되지 않은 기본 명명 된 인스턴스를 사용합니다. 그 이유는 위의 답변에서 분명합니다. 표준 버전은 기본적으로 명명되지 않은 인스턴스를 설치하고 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 */

기본 인스턴스는 이름이 있지만 이름으로 참조 할 수 없습니다!


5

Brett G가 게시 한 설명 외에도이를 사용하는 이유는 다음과 같습니다.

  • 서로 다른 버전의 SQL을 사용하여 다른 인스턴스를 가질 수 있습니다 (예 : SQL 2008을 사용하는 기본값, SQL 2005를 사용하는 명명 된 인스턴스)
  • 관심사 분리, 앱 또는 보안 또는 기타
  • 다른 개발 환경
  • 다양한 앱 환경 (예 : 자체 개발 대 타사)

그것들을 사용해야하는 모든 이유. 항상 좋은 생각이라는 것을 의미하지는 않습니다. : P


5

또 다른 실질적인 차이점 : SQL2005 이상에서는 시스템 당 16 개 이상의 인스턴스를 설치할 수 있습니다. 라이선스는 실제 CPU 당, 인스턴스 당이 아닌 SQL Server 설치 이므로 , 기존보다 1 % 더 많은 비용을 지불하지 않고도 최대 16 개의 SQL Server 2005 인스턴스를 실행할 수 있습니다.

CPU 라이센스가 소켓 당 $ 15000 (!)까지 실행될 수 있다는 점에서 16 코어 및 256GB 메모리와 같은 대규모 설치에는 필수입니다.


1

또한 인스턴스 당 메모리를 제한하고 프로세서 사용 제한을 할당 할 수 있습니다. 시스템 관리자 권한을 '필요한'벤더 작성 앱의 인스턴스를 만들 수도 있으므로 다른 애플리케이션을 위험에 빠뜨리지 않습니다.


0

가장 좋은 이유 중 하나는 데이터베이스 분리입니다. 자체 응용 프로그램을 개발하고 SQL Express를 패키징하는 경우 자체 인스턴스에 설치하는 것이 좋습니다. 또한 사용자에게 기존 SQL 설치를 지정할 수있는 옵션을 제공합니다.

다른 사람이 액세스하지 못하도록하는 데 중요한 데이터베이스가있는 경우 보안 권한이 매우 제한된 자체 인스턴스로 이동할 수 있습니다. 그것이 당신의 prodcution DB라고 말한 다음 사람들에게만 읽히는 동일한 서버 **의보고 DB로 복제합니다. 프로덕션 인스턴스의 보안 그룹을 실제로 소수의 사람으로 만 업데이트 할 수있는 사람을 제한하여 사용자가 실수로 프로덕션 DB에 액세스 할 수있는 사용자 (관리자) 오류는 적습니다.

** 좋은 습관은보고 서버를 별도의 컴퓨터로 만드는 것이지만, 나는 단지 이것을 예로 들어서하고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.