다음을 통해 공유


SERVERPROPERTY(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

서버 인스턴스에 대한 속성 정보를 반환합니다.

Transact-SQL 구문 표기 규칙

참고 항목

Microsoft Entra ID는 이전에 Azure Active Directory(Azure AD)로 알려졌습니다.

구문

SERVERPROPERTY ( 'propertyname' )

Important

SQL Server 및 Azure SQL 데이터베이스의 데이터베이스 엔진 버전 번호는 서로 비교할 수 없으며, 이러한 개별 제품의 내부 빌드 번호를 나타냅니다. Azure SQL Database의 데이터베이스 엔진은 SQL Server 데이터베이스 엔진와 동일한 코드 베이스를 기반으로 합니다. 가장 중요한 점은 Azure SQL Database의 데이터베이스 엔진에는 항상 최신 SQL 데이터베이스 엔진 비트가 있다는 점입니다. 예를 들어 Azure SQL 데이터베이스 버전 12는 SQL Server 버전 16보다 최신 버전입니다.

인수

propertyname

반환될 서버 속성 정보가 포함된 식입니다. propertyname은 다음 값 중 하나일 수 있습니다. 해당 버전의 데이터베이스 엔진에서 유효하지 않거나 지원되지 않는 propertyname을 사용하면 NULL을 반환합니다.

속성 반환된 값
BuildClrVersion SQL Server 인스턴스를 작성하는 동안 사용된 Microsoft.NET Framework CLR(공용 언어 런타임)의 버전입니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: 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 인스턴스가 장애 조치(failover) 클러스터에 있는 상태에서 장애 조치 클러스터형 인스턴스 이름을 가져오려는 경우 MachineName 속성을 사용합니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: nvarchar(128)
Edition SQL Server인스턴스의 설치된 제품 버전입니다. 이 속성 값을 이용하여 SQL Server의 버전별 컴퓨팅 용량 한도와 같은 해당 기능 및 제한을 확인합니다. 64비트 버전의 데이터베이스 엔진에는 (64비트)가 추가됩니다.

HRESULT = NO_ERROR를

'Enterprise Edition'

'Enterprise Edition: 코어 기반 라이선스’

'Enterprise Evaluation Edition'

'Business Intelligence Edition'

'Developer Edition'

'Express Edition'

'Express Edition with Advanced Services'

'Standard Edition'

'Web Edition'

'SQL Azure'는 SQL Database 또는 Azure Synapse Analytics를 나타냅니다.

'Azure SQL Edge Developer'는 Azure SQL Edge 개발 전용 버전을 나타냅니다.

'Azure SQL Edge'는 Azure SQL Edge의 유료 버전을 나타냅니다.

기본 데이터 형식: nvarchar(128)
EditionID SQL Server 인스턴스의 설치된 제품 버전을 나타내는 EditionID입니다. 이 속성 값을 이용하여 SQL Server의 버전별 컴퓨팅 용량 한도와 같은 기능 및 제한을 확인합니다.

1804890536 = Enterprise

1872460670 = Enterprise Edition: 코어 기반 라이선스

610778273 = Enterprise Evaluation

284895786 = Business Intelligence

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express with Advanced Services

-1534726760 = Standard

1293598313 = Web

1674378470 = SQL Database 또는 Azure Synapse Analytics

-1461570097 = Azure SQL Edge Developer

1994083197 = Azure SQL Edge

기본 데이터 형식: bigint
EngineEdition 서버에 설치된 데이터베이스 엔진 인스턴스의 SQL Server 버전입니다.

1 = Personal 또는 Desktop Engine(SQL Server 2005(9.x) 이상 버전에는 사용할 수 없음)

2 = Standard(Standard, Web 및 Business Intelligence인 경우)

3 = Enterprise(Evaluation, Developer 및 Enterprise 버전인 경우)

4 = Express(Express, Express with Tools 및 Express with Advanced Services인 경우)

5 = SQL Database

6 = Azure Synapse Analytics

8 = Azure SQL Managed Instance

9 = Azure SQL Edge(모든 버전의 Azure SQL Edge)

11 = Azure Synapse 서버리스 SQL 풀

기본 데이터 형식: int
FilestreamConfiguredLevel 구성된 FILESTREAM 액세스 수준입니다. 자세한 내용은 파일 스트림 액세스 수준을 참조하세요.

0 = FILESTREAM 사용 중지

1 = Transact-SQL 액세스에 FILESTREAM 사용

2 = Transact-SQL 및 Win32 스트리밍 액세스에 FILESTREAM 사용

3 = Transact-SQL 및 로컬 및 원격 Win32 스트리밍 액세스에 FILESTREAM 사용

기본 데이터 형식: int
FilestreamEffectiveLevel 유효한 FILESTREAM 액세스 수준입니다. 수준이 변경되었고 인스턴스 다시 시작이나 컴퓨터 다시 시작이 보류 중인 경우 이 값은 FilestreamConfiguredLevel과 다를 수 있습니다. 자세한 내용은 파일 스트림 액세스 수준을 참조하세요.

0 = FILESTREAM 사용 중지

1 = Transact-SQL 액세스에 FILESTREAM 사용

2 = Transact-SQL 및 Win32 스트리밍 액세스에 FILESTREAM 사용

3 = Transact-SQL 및 로컬 및 원격 Win32 스트리밍 액세스에 FILESTREAM 사용

기본 데이터 형식: int
FilestreamShareName FILESTREAM이 사용하는 공유의 이름입니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: nvarchar(128)
HadrManagerStatus 적용 대상: SQL Server 2012(11.x) 이상

Always On 가용성 그룹 관리자가 시작되었는지 여부를 나타냅니다.

0 = 시작되지 않았습니다. 통신 보류 중입니다.

1 = 시작되어 실행 중입니다.

2 = 시작되지 않고 실패했습니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
InstanceDefaultBackupPath 적용 대상: SQL Server 2019 (15.x) 이상

인스턴스 백업 파일의 기본 경로 이름입니다.
InstanceDefaultDataPath 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

인스턴스 데이터 파일의 기본 경로 이름입니다.

기본 데이터 형식: nvarchar(128)
InstanceDefaultLogPath 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

인스턴스 로그 파일의 기본 경로 이름입니다.

기본 데이터 형식: nvarchar(128)
InstanceName 사용자가 연결된 인스턴스의 이름입니다.

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

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: nvarchar(128)
IsAdvancedAnalyticsInstalled 설치 중에 Advanced Analytics 기능이 설치되어 있으면 1을, Advanced Analytics가 설치되어 있지 않으면 0을 반환합니다.

기본 데이터 형식: int
IsBigDataCluster SQL Server 2019 (15.x) CU 4부터 도입되었습니다.

인스턴스가 빅 데이터 클러스터 SQL Server이면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

기본 데이터 형식: int
IsClustered 서버 인스턴스가 장애 조치(failover) 클러스터에 구성되어 있습니다.

1 = 클러스터형입니다.

0 = 비클러스터형입니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
IsExternalAuthenticationOnly 적용 대상: Azure SQL Database 및 Azure SQL Managed Instance.

Microsoft Entra 전용 인증이 사용되고 있는지 반환합니다.

1 = Microsoft Entra 전용 인증이 사용됩니다.

0 = Microsoft Entra 전용 인증이 사용 중지됩니다.

기본 데이터 형식: int
IsExternalGovernanceEnabled 적용 대상: SQL Server 2022(16.x) 이상

Microsoft Purview 액세스 정책을 사용할 수 있는지 여부를 반환합니다.

1 = 외부 거버넌스가 사용하도록 설정됩니다.

0 = 외부 거버넌스가 사용하지 않도록 설정됩니다.

기본 데이터 형식: int
IsFullTextInstalled 전체 텍스트 및 의미 체계 인덱싱 구성 요소가 SQL Server의 현재 인스턴스에 설치되었습니다.

1 = 전체 텍스트 및 의미 체계 인덱싱 구성 요소가 설치되었습니다.

0 = 전체 텍스트 및 의미 체계 인덱싱 구성 요소가 설치되지 않았습니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
IsHadrEnabled 적용 대상: SQL Server 2012(11.x) 이상

이 서버 인스턴스에서 Always On 가용성 그룹을 사용합니다.

0 = Always On 가용성 그룹 기능을 사용하지 않습니다.

1 = Always On 가용성 그룹 기능을 사용합니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int

SQL Server 인스턴스에서 Always On 가용성 그룹 가용성 복제본을 만들고 실행하려면 서버 인스턴스에서 HADR 서비스를 사용하도록 설정해야 합니다. 자세한 내용은 Always On 가용성 그룹 활성화 및 비활성화(SQL Server)를 참조하세요.

참고: IsHadrEnabled 속성은 Always On 가용성 그룹에만 적용됩니다. 데이터베이스 미러링 또는 로그 전달 등의 다른 고가용성 또는 재해 복구 기능은 이 서버 속성의 영향을 받지 않습니다.
IsIntegratedSecurityOnly 서버가 통합 보안 모드에 있습니다.

1 = 통합 보안(Windows 인증)

0 = 통합 보안 모드가 아닙니다. Windows 인증 및 SQL Server 인증이라는 두 가지 인증 모드를 사용할 수 있습니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
IsLocalDB 적용 대상: SQL Server 2012(11.x) 이상

서버가 SQL Server Express LocalDB의 인스턴스입니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
IsPolyBaseInstalled 적용 대상: SQL Server 2016(13.x).

서버 인스턴스에 PolyBase 기능이 설치되어 있는지 여부를 반환합니다.

0 = PolyBase가 설치되지 않았습니다.

1 = PolyBase가 설치되어 있습니다.

기본 데이터 형식: int
IsServerSuspendedForSnapshotBackup 서버가 일시 중단 모드에 있으며 서버 수준 재개가 필요합니다.

1 = 일시 중지됨

0 = 일시 중지되지 않음

기본 데이터 형식: int
IsSingleUser 서버가 단일 사용자 모드입니다.

1 = 단일 사용자 모드입니다.

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

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
IsTempDbMetadataMemoryOptimized 적용 대상: SQL Server 2019 (15.x) 이상

tempdb가 메타데이터에서 메모리 최적화 테이블을 사용하도록 설정된 경우 1을 반환합니다. tempdb가 메타데이터에서 일반, 디스크 기반 테이블을 사용하는 경우 0을 반환합니다. 자세한 내용은 tempdb Database을(를) 참조하세요.

기본 데이터 형식: int
IsXTPSupported 적용 대상: SQL Server(SQL Server 2014(12.x) 이상), SQL Database.

서버에서 메모리 OLTP를 지원합니다.

1= 서버에서 메모리 내 OLTP를 지원합니다.

0 = 서버에서 메모리 내 OLTP를 지원하지 않습니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
LCID 데이터 정렬의 Windows LCID(로캘 ID)입니다.

기본 데이터 형식: int
LicenseType 사용되지 않습니다. 라이선스 정보는 SQL Server 제품에서 보존 또는 유지 관리되지 않습니다. 항상 DISABLED를 반환합니다.

기본 데이터 형식: nvarchar(128)
MachineName 서버 인스턴스가 실행 중인 Windows 컴퓨터 이름입니다.

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

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: nvarchar(128)
NumLicenses 사용되지 않습니다. 라이선스 정보는 SQL Server 제품에서 보존 또는 유지 관리되지 않습니다. 항상 NULL을 반환합니다.

기본 데이터 형식: int
PathSeparator 적용 대상: SQL Server 2017(14.x) 이상

Windows의 \ 및 Linux의 / 반환

기본 데이터 형식: nvarchar
ProcessID SQL Server 서비스의 프로세스 ID입니다. ProcessID는 인스턴스에 속하는 Sqlservr.exe를 식별하는 데 유용합니다.

NULL = 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않습니다.

기본 데이터 형식: int
ProductBuild 적용 대상: 2015년 10월부터 SQL Server 2014(12.x)에 적용됩니다.

빌드 번호입니다.

기본 데이터 형식: nvarchar(128)
ProductBuildType 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

현재 빌드의 빌드 형식입니다.

다음 값 중 하나를 반환합니다.

OD = 요청 시 특정 고객을 릴리스합니다.

GDR = Windows 업데이트를 통해 릴리스된 일반 배포 릴리스입니다.

NULL = 해당 사항 없음

기본 데이터 형식: nvarchar(128)
ProductLevel SQL Server 인스턴스의 버전 수준입니다.

다음 값 중 하나를 반환합니다.

'RTM' = 초기 릴리스 버전

'SPn' = 서비스 팩 버전

'CTPn', = Community Technology Preview 버전

기본 데이터 형식: nvarchar(128)
ProductMajorVersion 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

주 버전

기본 데이터 형식: nvarchar(128)
ProductMinorVersion 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

부 버전

기본 데이터 형식: nvarchar(128)
ProductUpdateLevel 적용 대상: 2015년 말부터 업데이트의 현재 버전을 통한 SQL Server 2012(11.x) 및 Azure SQL Managed Instance.

현재 빌드의 업데이트 수준입니다. CU는 누적 업데이트를 나타냅니다.

다음 값 중 하나를 반환합니다.

CUn = 누적 업데이트

NULL = 해당 사항 없음

기본 데이터 형식: nvarchar(128)
ProductUpdateReference 적용 대상: 2015년 후반부터 업데이트된 현재 버전을 통해 SQL Server 2012(11.x)에 적용됩니다.

해당 릴리스에 대한 기술 자료 문서입니다.

기본 데이터 형식: nvarchar(128)
ProductUpdateType 적용 대상: Azure SQL Managed Instance

인스턴스가 따르는 업데이트 주기입니다. Azure SQL Managed Instance 업데이트 정책에 해당합니다.

다음 값 중 하나를 반환합니다.

CU = 업데이트 해당하는 주요 SQL Server 릴리스(SQL Server 2022 업데이트 정책)에 대한 CU(누적 업데이트)를 통해 릴리스됩니다.

연속 = SQL Server 릴리스 주기(항상 최신 업데이트 정책)와 관계없이 새 기능이 사용 가능한 즉시 Azure SQL Managed Instance로 제공됩니다.

기본 데이터 형식: nvarchar(128)
ProductVersion major.minor.build.revision 형식의 SQL Server 인스턴스 버전입니다.

기본 데이터 형식: 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)
SuspendedDatabaseCount 서버의 일시 중지된 데이터베이스 수입니다.

기본 데이터 형식: int

반환 형식

sql_variant

설명

ServerName 속성

SERVERPROPERTY 함수의 ServerName 속성과 @@SERVERNAME은 비슷한 정보를 반환합니다. ServerName 속성은 고유한 서버 인스턴스를 구성하는 인스턴스 이름과 Windows 서버를 제공합니다. @@SERVERNAME은 현재 구성된 로컬 서버 이름을 제공합니다.

설치 시 기본 서버 이름이 변경되지 않은 경우 ServerName 속성과 @@SERVERNAME은 같은 정보를 반환합니다. 로컬 서버 이름은 다음을 실행하여 구성할 수 있습니다.

EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO

설치 시 로컬 서버 이름을 기본 서버 이름에서 다른 이름으로 변경한 경우 @@SERVERNAME은 새 이름을 반환합니다.

SERVERPROPERTY 함수의 ServerName 속성은 저장되는 Windows 서버 이름을 그대로 반환합니다. 이전 주 버전에서는 대문자를 반환했습니다. 이 동작은 SQL Server 2019(15.x) CU 9와 CU 12 사이에 대문자로 다시 변경되었지만 SQL Server 2019(15.x) CU 13부터 서버 이름이 저장되면 반환됩니다.

Windows 서버 이름에 소문자가 포함된 경우 이 동작 변경으로 인해 서버에 대한 이름 변경이 없더라도 SERVERPROPERTY 함수의 ServerName 속성과 @@SERVERNAME(대문자 대 소문자) 간에 차이가 발생할 수 있습니다.

이름이 server01인 서버와 이름이 INST1인 SQL Server 인스턴스가 있다고 가정합니다. 다음 표에는 SQL Server 2019(15.x)의 여러 빌드 간의 동작 변경 내용이 요약됩니다.

SQL Server 2019(15.x) 릴리스 SERVERPROPERTY('ServerName') 추가 정보
RTM SERVER01\INST1 대문자로 ServerName 속성을 반환합니다.
CU 1 – CU 8 server01\INST1 대문자로 변경하지 않고 있는 그대로 ServerName 속성을 반환합니다.
CU 9 – CU 12 SERVER01\INST1 대문자로 ServerName 속성을 반환합니다.
CU 13 이상 버전 server01\INST1 대문자로 변경하지 않고 있는 그대로 ServerName 속성을 반환합니다.

Version 속성

SERVERPROPERTY 함수는 버전 정보에 관련된 개별 속성을 반환하지만 @@VERSION 함수는 출력을 하나의 문자열로 결합합니다. 애플리케이션에 개별 속성 문자열이 필요한 경우 @@VERSION 결과를 구문 분석하는 대신 SERVERPROPERTY 함수를 사용하여 이러한 속성 문자열을 반환할 수 있습니다.

사용 권한

모든 사용자가 서버 속성을 쿼리할 수 있습니다.

예제

다음 예에서는 SELECT 문에서 SERVERPROPERTY 함수를 사용하여 SQL Server의 현재 인스턴스에 대한 정보를 반환합니다.

SELECT
 SERVERPROPERTY('MachineName') AS ComputerName,
 SERVERPROPERTY('ServerName') AS InstanceName,
 SERVERPROPERTY('Edition') AS Edition,
 SERVERPROPERTY('ProductVersion') AS ProductVersion,
 SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO

Windows의 SQL Server 버전에서 지원되는 기능 목록은 다음을 참조하세요.