반응형

해당 서버에 설치된 SQL Server의 에디션이 무엇인지, 서비스 팩은 어디까지 적용이 되어 있는지, 혹은 32bit인지 64비트인지 등과 같은 서버 인스턴스에 대한 속성 정보가 필요할 경우가 종종 있다. 특히 수십 대 혹은 수백 대의 MS SQL Server를 관리하는 곳에서 관리 대장을 작성할 경우 더욱 그러할텐데, 본 포스트에서는 이 때 요긴하게 쓰일 SQL을 소개하고자 한다.

 

물론, @@version의 글로벌 변수를 이용해 간단하게 조회가 가능하나, 서비스 팩 설치 정보 등과 같이 조회되지 않는 항목도 있다. 이 때 SERVERPROPERTY 시스템 저장 프로시저를 이용하면 간단하게 해결할 수 있다.

 

SELECT SERVERPROPERTY ('productversion') AS ProductVersion
     , SERVERPROPERTY ('productlevel')   AS ProductLevel
     , SERVERPROPERTY ('edition')        AS Edition

GO

 

Result>>

ProductVersion       ProductLevel  Edition
-------------------- ---------------- ---------------------------
9.00.4035.00         SP3               Standard Edition (64-bit)

 

 

SERVERPROPERTY (BOL 인용)
  • 구문
  •     SERVERPROPERTY ( propertyname )

     

  • 인수
  • 속성 반환된 값

    BuildClrVersion

    SQL Server 인스턴스를 작성하는 동안 사용된 Microsoft .NET Framework CLR(공용 언어 런타임)의 버전

     

    기본 데이터 형식: nvarchar(128)

    Collation

    서버의 기본 데이터 정렬 이름

     

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: nvarchar(128)

    CollationID

    SQL Server 데이터 정렬의 ID

     

    기본 데이터 형식: int

    ComparisonStyle

    데이터 정렬의 Windows 비교 스타일

     

    기본 데이터 형식: int

    ComputerNamePhysicalNetBIOS

    SQL Server 인스턴스가 현재 실행되고 있는 로컬 컴퓨터의 NetBIOS 이름

     

    장애 조치(Failover) 클러스터의 SQL Server 클러스터형 인스턴스에서 SQL Server 인스턴스가 장애 조치 클러스터의 다른 노드로 장애 조치되면 이 값이 변경된다.

    독립 실행형 SQL Server 인스턴스에서 이 값은 일정하게 유지되며 MachineName 속성과 같은 값을 반환된다.

     

    참고:
    SQL Server 인스턴스가 장애 조치 클러스터에 있는 상태에서 장애 조치 클러스터형 인스턴스 이름을 가져오려는 경우 MachineName 속성을 사용할 것

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: nvarchar(128)

    Edition

    SQL Server 인스턴스의 설치된 제품 버전

     

    이 속성 값을 사용하여 설치된 제품에서 지원하는 기능 및 최대 CPU 수와 같은 제한을 확인한다. 64비트 버전의 데이터베이스 엔진에는 (64비트)가 추가된다..

     

    'Desktop Engine'(SQL Server에는 사용할 수 없음)

    'Developer Edition'

    'Enterprise Edition'

    'Enterprise Evaluation Edition'

    'Personal Edition'(SQL Server에는 사용할 수 없음)

    'Standard Edition'

    'Express Edition'

    'Express Edition with Advanced Services'

    'Workgroup Edition'

    'Windows Embedded SQL'

     

    기본 데이터 형식: nvarchar(128)

    EditionID

    SQL Server 인스턴스의 설치된 제품 버전을 나타내는 ID 번호

     

    이 속성 값을 사용하여 설치된 제품에서 지원하는 기능 및 최대 CPU 수와 같은 제한을 확인한다.

    -1253826760 = Desktop

    -1592396055 = Express

    -1534726760 = Standard

    1333529388 = Workgroup

    1804890536 = Enterprise

    -323382091 = Personal

    -2117995310 = Developer

    610778273 = Enterprise Evaluation

    1044790755 = Windows Embedded SQL

    4161255391 = Express with Advanced Services

     

    기본 데이터 형식: int

    EngineEdition

    서버에 설치된 SQL Server 인스턴스의 데이터베이스 엔진 버전

     

    1 = 개인용 또는 데스크톱 엔진(SQL Server에는 사용할 수 없음)

    2 = 스탠더드(스탠더드 및 워크그룹 버전인 경우 이 값이 반환됨)

    3 = 엔터프라이즈(엔터프라이즈, 엔터프라이즈 평가 및 디벨로퍼 버전인 경우 이 값이 반환됨)

    4 = 익스프레스(익스프레스, Express with Advanced Services 및 Windows Embedded SQL 버전인 경우 이 값이 반환됨)

     

    기본 데이터 형식: int

    InstanceName

    사용자가 연결된 인스턴스의 이름

     

    인스턴스 이름이 기본 인스턴스이거나 입력이 유효하지 않거나 오류일 경우에는 NULL을 반환한다.

     

    기본 데이터 형식: nvarchar(128)

    IsClustered

    서버 인스턴스가 장애 조치 클러스터에 구성되어 있어 있다.

     

    1 = 클러스터형

    0 = 비클러스터형

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: int

    IsFullTextInstalled

    전체 텍스트 구성 요소가 SQL Server의 현재 인스턴스에 설치되어 있는지 확인

     

    1 = 전체 텍스트가 설치되었다.

    0 = 전체 텍스트가 설치되지 않다.

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: int

    IsIntegratedSecurityOnly

    통합 보안 모드

     

    1 = 통합 보안 모드이다.

    0 = 통합 보안 모드가 아니다.

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: int

    IsSingleUser

    단일 사용자 모드

     

    1 = 단일 사용자 모드이다.

    0 = 단일 사용자 모드가 아니다.

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: int

    LCID

    데이터 정렬의 Windows LCID(로케일 ID)

    기본 데이터 형식: int

    LicenseType

    SQL Server 인스턴스의 모드

     

    PER_SEAT = 사용자 단위 모드

    PER_PROCESSOR = 프로세서 단위 모드

    DISABLED = 라이선스가 해제되었다.

     

    기본 데이터 형식: nvarchar(128)

    MachineName

    서버 인스턴스가 실행 중인 Windows 컴퓨터 이름

     

    Microsoft Cluster Service의 가상 서버에서 실행되는 SQL Server 클러스터형 인스턴스인 경우에는 가상 서버의 이름을 반환된다.

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: nvarchar(128)

    NumLicenses

    사용자 단위 모드일 경우 SQL Server 인스턴스에 대해 등록된 클라이언트 라이선스의 수

     

    프로세서 단위 모드일 경우 SQL Server 인스턴스에 대해 허가된 프로세서의 수이다.

    서버가 이 중 어느 것에도 해당하지 않으면 NULL을 반환한다.

     

    기본 데이터 형식: int

    ProcessID

    SQL Server 서비스의 프로세스 ID

     

    ProcessID는 인스턴스에 속하는 Sqlservr.exe를 식별하는 데 유용하다.

    NULL = 입력이 유효하지 않거나 오류입니다.

     

    기본 데이터 형식: int

    ProductVersion

    SQL Server 인스턴스의 버전으로 'major.minor.build' 형식이다.

    기본 데이터 형식: nvarchar(128)

    ProductLevel

    SQL Server 인스턴스의 버전 수준

     

    'RTM' = 초기 릴리스 버전

    'SPn' = 서비스 팩 버전

    'CTP', = Community Technology Preview 버전

     

    기본 데이터 형식: nvarchar(128)

    ResourceLastUpdateDateTime

    리소스 데이터베이스를 마지막으로 업데이트한 날짜와 시간을 반환한다.

     

    기본 데이터 형식: datetime

    ResourceVersion

    리소스 데이터베이스 버전을 반환한다.

     

    기본 데이터 형식: nvarchar(128)

    ServerName

    Windows 서버 및 지정된 SQL Server 인스턴스에 대한 인스턴스 정보

     

    NULL = 입력이 유효하지 않거나 오류

     

    기본 데이터 형식: nvarchar(128)

    SqlCharSet

    데이터 정렬 ID의 SQL 문자 집합 ID

     

    기본 데이터 형식: tinyint

    SqlCharSetName

    데이터 정렬의 SQL 문자 집합 이름

     

    기본 데이터 형식: nvarchar(128)

    SqlSortOrder

    데이터 정렬의 SQL 정렬 순서 ID

     

    기본 데이터 형식: tinyint

    SqlSortOrderName

    데이터 정렬의 SQL 정렬 순서 이름

     

    기본 데이터 형식: nvarchar(128)

    FilestreamShareName

    FILESTREAM이 사용하는 공유의 이름

    FilestreamConfiguredLevel

    구성된 FILESTREAM 액세스 수준

    FilestreamEffectiveLevel

    효과적인 FILESTREAM 액세스 수준

     

    수준이 변경되었고 인스턴스 다시 시작이나 컴퓨터 다시 시작이 보류 중인 경우 이 값은 FilestreamConfiguredLevel과 다를 수 있다.

     

    반응형

    + Recent posts