DATABASEPROPERTYEX(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

이 함수는 SQL Server에 지정된 데이터베이스에 대해 지정된 데이터베이스 옵션이나 속성의 현재 설정을 반환합니다.

Transact-SQL 구문 표기 규칙

Syntax

DATABASEPROPERTYEX ( database , property )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

database
DATABASEPROPERTYEX에서 명명된 속성 정보를 반환할 데이터베이스의 이름을 나타내는 식입니다. database에는 nvarchar(128) 데이터 형식이 있습니다.

SQL Database에서는 DATABASEPROPERTYEX에 현재 데이터베이스의 이름을 반환합니다. 다른 데이터베이스 이름을 제공하는 경우 모든 속성에 대해 NULL을 반환합니다.

property
반환할 데이터베이스 속성의 이름을 나타내는 식입니다. property에는 varchar(128) 데이터 형식이 있고, 이 표의 값 중 하나가 지원됩니다.

참고

데이터베이스가 아직 시작되지 않은 경우 DATABASEPROPERTYEX가 메타데이터에서 검색하는 대신 직접 데이터베이스 액세스를 통해 이러한 값을 검색할 경우 DATABASEPROPERTYEX에서 NULL을 반환합니다. AUTO_CLOSE가 ON으로 설정되어 있거나 오프라인 상태인 데이터베이스는 '시작되지 않은 것'으로 간주됩니다.

속성 Description 반환 값
데이터 정렬 데이터베이스의 기본 데이터 정렬 이름입니다. 데이터 정렬 이름

NULL: 데이터베이스가 시작되지 않았습니다.

기본 데이터 형식: nvarchar(128)
ComparisonStyle 데이터 정렬의 Windows 비교 스타일입니다. 다음 스타일 값을 사용하여 완성된 ComparisonStyle 값에 대한 비트맵을 빌드합니다.

대/소문자 무시: 1
악센트 무시: 2
Ignore Kana : 65536
전자/반자 무시: 131072

예를 들어 기본값 196609는 대/소문자 무시, 일본어 가나 무시 및 전자/반자 무시 옵션이 결합된 결과입니다.
비교 스타일을 반환합니다.

모든 이진 데이터 정렬에 대해 0을 반환합니다.

기본 데이터 형식: int
버전 데이터베이스 버전 또는 서비스 계층입니다. 적용 대상: Azure SQL Database, Azure Synapse Analytics



범용

중요 비즈니스용

Basic

Standard

Premium

시스템(master 데이터베이스용)

NULL: 데이터베이스가 시작되지 않았습니다.

기본 데이터 형식: nvarchar(64)
IsAnsiNullDefault 데이터베이스가 Null 값 허용에 대해 ISO 규칙을 따릅니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAnsiNullsEnabled Null에 대한 모든 비교는 알 수 없음이 됩니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAnsiPaddingEnabled 비교 또는 삽입하기 전에 문자열이 동일한 길이만큼 채워집니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAnsiWarningsEnabled 표준 오류 조건이 발생하면 SQL Server에서 오류 메시지나 경고 메시지를 표시합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsArithmeticAbortEnabled 쿼리 실행 시 오버플로나 0으로 나누기 오류가 발생하면 쿼리가 종료됩니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAutoClose 마지막 사용자가 끝낸 후 데이터베이스가 완전히 종료되고 리소스가 해제됩니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAutoCreateStatistics 쿼리 최적화 프로그램에서 필요할 경우 단일 열 통계를 작성하여 쿼리 성능을 향상시킵니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAutoCreateStatisticsIncremental 가능하면 자동으로 만든 단일 열 통계는 증분합니다. 적용 대상: SQL Server 2014(12.x) 이상

1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAutoShrink 데이터베이스 파일을 주기적으로 자동 축소합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsAutoUpdateStatistics 쿼리에서 오래된 기존 통계를 사용할 경우 쿼리 최적화 프로그램이 이러한 통계를 업데이트합니다. 1: TRUE

0: FALSE

NULL: 입력이 잘못됨

기본 데이터 형식: int
IsClone 데이터베이스는 DBCC CLONEDATABASE로 만든 사용자 데이터베이스의 스키마 및 통계 전용 복사본입니다. 자세한 내용은 Microsoft 지원 아티클을 참조하세요. 적용 대상: SQL Server 2014(12.x) SP2 이상.

1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsCloseCursorsOnCommitEnabled 트랜잭션이 커밋되면 열려 있는 모든 커서가 닫힙니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsDatabaseSuspendedForSnapshotBackup 데이터베이스가 일시 중단되었습니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsFulltextEnabled 데이터베이스에 전체 텍스트 및 의미 체계 인덱싱을 사용하도록 설정되어 있습니다. 적용 대상: SQL Server 2008(10.0.x) 이상



1: TRUE

0: FALSE

NULL: 입력이 잘못됨

기본 데이터 형식: int

참고: 이 속성의 값은 이제 아무런 영향을 주지 않습니다. 사용자 데이터베이스는 전체 텍스트 검색을 사용하도록 항상 설정됩니다. SQL Server의 이후 릴리스에서는 이 속성이 제거될 예정입니다. 새 개발 작업에서는 이 속성을 사용하지 말고 현재 이 속성을 사용하는 애플리케이션은 가능한 한 빨리 수정하세요.
IsInStandBy 데이터베이스가 로그 복원이 허용된 읽기 전용으로 온라인 상태입니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsLocalCursorsDefault 커서는 기본적으로 LOCAL로 선언됩니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsMemoryOptimizedElevateToSnapshotEnabled 메모리 액세스에 최적화된 테이블은 세션 설정 TRANSACTION ISOLATION LEVEL이 READ COMMITTED, READ UNCOMMITTED 또는 낮은 격리 수준으로 설정된 경우 SNAPSHOT 격리를 사용하여 액세스됩니다. 적용 대상: SQL Server 2014(12.x) 이상



1: TRUE

0: FALSE

기본 데이터 형식: int
IsMergePublished 복제가 설치된 경우 SQL Server에서 데이터베이스의 테이블을 병합 복제용으로 게시하도록 지원합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsNullConcat Null 연결 피연산자가 NULL을 반환합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsNumericRoundAbortEnabled 식의 전체 자릿수에서 일부가 손실되면 오류가 발생합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsParameterizationForced PARAMETERIZATION 데이터베이스 SET 옵션이 FORCED입니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력
IsQuotedIdentifiersEnabled 식별자에 큰따옴표를 사용할 수 있습니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsPublished 복제가 설치된 경우 SQL Server에서 데이터베이스 테이블을 스냅샷 또는 트랜잭션 복제용으로 게시하도록 지원합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsRecursiveTriggersEnabled 트리거를 재귀적으로 실행하도록 설정합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsSubscribed 데이터베이스가 게시를 구독합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsSyncWithBackup 데이터베이스는 게시된 데이터베이스이거나 배포 데이터베이스이며, 트랜잭션 복제를 중단하지 않는 복원을 지원합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsTornPageDetectionEnabled SQL Server 데이터베이스 엔진에서 정전이나 기타 시스템 중단으로 인해 완료되지 않은 I/O 작업을 검색합니다. 1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsVerifiedClone 데이터베이스는 DBCC CLONEDATABASE의 WITH VERIFY_CLONEDB 옵션을 사용하여 만든 사용자 데이터베이스의 스키마 및 통계 전용 복사본입니다. 자세한 내용은 이 Microsoft 지원 아티클을 참조하세요. 적용 대상: SQL Server 2016(13.x) SP2부터 시작



1: TRUE

0: FALSE

NULL: 잘못된 입력

기본 데이터 형식: int
IsXTPSupported 데이터베이스가 In-Memory OLTP를 지원하는지 여부를 나타냅니다. 예를 들어 메모리 최적화 테이블 및 원시 컴파일 모듈의 제작과 사용이 그렇습니다.

SQL Server에만 해당 :

IsXTPSupported는 In-Memory OLTP 개체를 만드는 데 필요한 MEMORY_OPTIMIZED_DATA 파일 그룹의 존재 여부와 관계가 없습니다.
적용 대상: SQL Server(SQL Server 2016(13.x) 이상) 및 Azure SQL Database.

1: TRUE

0: FALSE

NULL: 입력이 유효하지 않거나, 오류이거나, 적용 가능하지 않음

기본 데이터 형식: int
LastGoodCheckDbTime 지정된 데이터베이스에서 성공적으로 실행된 마지막 DBCC CHECKDB의 시간 및 날짜입니다.1 DBCC CHECKDB가 데이터베이스에서 실행되지 않은 경우 1900-01-01 00:00:00.000이 반환됩니다. 적용 대상: SP2부터 SQL Server 2016(13.x)
CU9부터 SQL Server 2017(14.x)
SQL Server 2019(15.x) 이상
Azure SQL Database.

datetime 값

NULL: 잘못된 입력

기본 데이터 형식: datetime
LCID 데이터 정렬의 Windows LCID(로캘 ID)입니다. LCID 값(10진수 형식)입니다.

기본 데이터 형식: int
MaxSizeInBytes 최대 데이터베이스 크기(바이트)입니다. 적용 대상: Azure SQL Database, Azure Synapse Analytics

Azure SQL Database 및 Azure Synapse Analytics – 추가 스토리지를 구매하지 않으면 값은 SLO를 기반으로 합니다.

vCore – 값은 최대 크기까지 1GB씩 증가합니다.

NULL: 데이터베이스가 시작되지 않았습니다.

기본 데이터 형식: bigint
복구 데이터베이스 복구 모델 FULL: 전체 복구 모델

BULK_LOGGED: 대량 로그 모델

SIMPLE: 단순 복구 모델

기본 데이터 형식: nvarchar(128)
ServiceObjective SQL Database 또는 Azure Synapse Analytics의 데이터베이스 성능 수준을 설명합니다. 다음 값 중 하나입니다.

Null: 데이터베이스가 시작되지 않았습니다.

공유(Web/Business 버전)

Basic

S0

S1

S2

S3

P1

P2

P3

ElasticPool

시스템(master DB용)

기본 데이터 형식: nvarchar(32)
ServiceObjectiveId SQL Database의 서비스 목표 ID입니다. 서비스 목표를 식별하는 uniqueidentifier입니다.
SQLSortOrder 이전 버전의 SQL Server에서 지원하는 SQL Server 정렬 순서 ID입니다. 0: 데이터베이스가 Windows 데이터 정렬을 사용함

>0: SQL Server 정렬 순서 ID

NULL: 입력이 잘못되었거나 데이터베이스가 시작되지 않음

기본 데이터 형식: tinyint
상태 데이터베이스 상태입니다. ONLINE: 쿼리에서 데이터베이스를 제공합니다.

참고: 데이터베이스가 열려 있고 아직 복구되지 않았을 때는 함수가 ONLINE 상태를 반환할 수 있습니다. ONLINE 데이터베이스가 연결을 허용할 수 있는지 파악하려면 DATABASEPROPERTYEX의 데이터 정렬 속성을 쿼리합니다. 데이터베이스 데이터 정렬이 null이 아닌 값을 반환하면 ONLINE 데이터베이스가 연결을 허용할 수 있습니다. Always On 데이터베이스의 경우 sys.dm_hadr_database_replica_states의 database_state 또는 database_state_desc 열을 쿼리합니다.

OFFLINE: 데이터베이스가 명시적으로 오프라인 상태입니다.

RESTORING: 데이터베이스 복원이 시작되었습니다.

RECOVERING: 데이터베이스 복구가 시작되었고 데이터베이스가 아직 쿼리에 대한 준비가 되지 않았습니다.

SUSPECT: 데이터베이스가 복구되지 않았습니다.

EMERGENCY: 데이터베이스가 응급 읽기 전용 상태입니다. sysadmin 멤버만 액세스할 수 있습니다.

기본 데이터 형식: nvarchar(128)
Updateability 데이터 수정 가능 여부를 나타냅니다. READ_ONLY: 데이터베이스가 데이터 읽기를 지원하지만 데이터 수정은 지원하지 않습니다.

READ_WRITE: 데이터베이스가 데이터 읽기 및 수정을 지원합니다.

기본 데이터 형식: nvarchar(128)
UserAccess 데이터베이스에 액세스할 수 있는 사용자를 나타냅니다. SINGLE_USER: 한 번에 한 명의 db_owner, dbcreator 또는 sysadmin 사용자만 액세스할 수 있습니다.

RESTRICTED_USER: db_owner, dbcreator 또는 sysadmin 역할의 멤버만 액세스할 수 있습니다.

MULTI_USER: 모든 사용자가 액세스할 수 있습니다.

기본 데이터 형식: nvarchar(128)
버전 데이터베이스가 만들어진 SQL Server 코드의 내부 버전 번호입니다. 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다. 버전 번호: 데이터베이스가 열려 있습니다.

NULL: 데이터베이스가 시작되지 않았습니다.

기본 데이터 형식: int
Replicaid 연결된 하이퍼스케일 데이터베이스/복제본(replica) 복제본(replica) ID입니다. 적용 대상: Azure SQL Database.

연결된 하이퍼스케일 데이터베이스/복제본(replica) 복제본(replica) ID만 반환합니다. 복제본(replica) 형식에 대한 자세한 내용은 하이퍼스케일 보조 복제본(replica) 참조하세요.

NULL: 하이퍼스케일 데이터베이스가 아니거나 데이터베이스가 시작되지 않았습니다.

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

참고 항목

1 가용성 그룹의 일부인 데이터베이스의 경우 LastGoodCheckDbTime은 명령을 실행하는 복제본에 관계 없이 주 복제본에서 성공적으로 실행된 마지막 DBCC CHECKDB의 시간과 날짜를 반환합니다.

반환 형식

sql_variant

예외

오류가 발생하거나 호출자에게 개체를 볼 수 있는 권한이 없으면 NULL을 반환합니다.

SQL Server에서 사용자는 소유하고 있거나 사용 권한을 부여받은 보안 개체의 메타데이터만 볼 수 있습니다. 이 규칙은 사용자에게 개체에 대한 권한이 없으면 OBJECT_ID와 같은 메타데이터 내보내기 기본 제공 함수에서 NULL을 반환할 수 있음을 뜻합니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하세요.

설명

DATABASEPROPERTYEX는 한 번에 하나의 속성 설정만 반환합니다. 여러 속성 설정을 표시하려면 sys.databases 카탈로그 뷰를 사용하세요.

예제

A. AUTO_SHRINK 데이터베이스 옵션의 상태 검색

이 예에서는 AdventureWorks 데이터베이스에 대한 AUTO_SHRINK 데이터베이스 옵션의 상태를 반환합니다.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');  

결과 집합은 다음과 같습니다. 이것은 AUTO_SHRINK가 해제되었음을 의미합니다.

------------------  
0  

B. 데이터베이스의 기본 데이터 정렬 검색

이 예에서는 AdventureWorks 데이터베이스의 여러 속성을 반환합니다.

SELECT   
    DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,  
    DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,  
    DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,  
    DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes  

결과 집합은 다음과 같습니다.

Collation                     Edition        ServiceObjective  MaxSizeInBytes  
----------------------------  -------------  ----------------  --------------  
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120  

C. DATABASEPROPERTYEX를 사용하여 복제본에 대한 연결 확인

Azure SQL Database 읽기 스케일 아웃 기능을 사용하면 데이터베이스의 컨텍스트에서 다음 쿼리를 실행하여 읽기 전용 복제본에 연결되어 있는지를 확인할 수 있습니다. 읽기 전용 복제본에 연결된 경우 READ_ONLY가 반환됩니다. 이 방식으로, 읽기 전용 복제본에서 쿼리가 실행되는 경우를 식별할 수도 있습니다.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability'); 

참고 항목

ALTER DATABASE(Transact-SQL)
데이터베이스 상태
sys.databases(Transact-SQL)
sys.database_files(Transact-SQL)
SERVERPROPERTY(Transact-SQL)