해당 서버에 설치된 SQL Server의 에디션이 무엇인지, 서비스 팩은 어디까지 적용이 되어 있는지, 혹은 32bit인지 64비트인지 등과 같은 서버 인스턴스에 대한 속성 정보가 필요할 경우가 종종 있다. 특히 수십 대 혹은 수백 대의 MS SQL Server를 관리하는 곳에서 관리 대장을 작성할 경우 더욱 그러할텐데, 본 포스트에서는 이 때 요긴하게 쓰일 SQL을 소개하고자 한다.
물론, @@version의 글로벌 변수를 이용해 간단하게 조회가 가능하나, 서비스 팩 설치 정보 등과 같이 조회되지 않는 항목도 있다. 이 때 SERVERPROPERTY 시스템 저장 프로시저를 이용하면 간단하게 해결할 수 있다.
SELECT SERVERPROPERTY ('productversion') AS ProductVersion GO
Result>> ProductVersion ProductLevel Edition |
속성 | 반환된 값 |
---|---|
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과 다를 수 있다. |

'연구개발 > SQL2005' 카테고리의 다른 글
인덱스의 크기 및 인덱스 조각화 정보 조회하기 (0) | 2011.07.18 |
---|---|
IDENTITY가 설정된 컬럼에 데이터 입력하기-SET IDENTITY_INSERT (0) | 2011.07.18 |
SQL Server Management Studio 및 Business Intelligence Development Studio 빨리 열기 (0) | 2011.07.18 |
DDL 스트립트를 작성하는 프로그램 (오픈 소스) (0) | 2011.07.18 |
인덱스 정보를 조회하는 뷰 (0) | 2011.07.18 |