다음을 통해 공유


DATABASEPROPERTYEX(Transact-SQL)

적용 대상:SQL 서버Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 데이터베이스

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

Transact-SQL 구문 표기 규칙

구문

DATABASEPROPERTYEX ( database , property )

인수

데이터베이스

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

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

속성

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

참고

데이터베이스가 아직 시작되지 않은 경우 메타데이터에서 검색하는 DATABASEPROPERTYEX 대신 직접 데이터베이스 액세스로 해당 값을 검색하는 경우 NULL 반환 DATABASEPROPERTYEX 을 호출합니다. 오프라인으로 AUTO_CLOSE 설정된 ON데이터베이스는 '시작되지 않음'으로 정의됩니다.

속성 설명 반환 값
Collation

데이터 형식: nvarchar(128)
데이터베이스의 기본 데이터 정렬 이름입니다. 데이터 정렬 이름입니다. 이 경우 NULL데이터베이스가 시작되지 않습니다.
ComparisonStyle

데이터 형식: int
데이터 정렬의 Windows 비교 스타일입니다. 다음 스타일 값을 사용하여 완성 ComparisonStyle 된 값에 대한 비트맵을 작성합니다.

- 1: 대/소문자 무시
- 2: 악센트 무시
- 65536: 가나 무시
- 131072: 너비 무시

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

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

데이터 형식: nvarchar(64)
데이터베이스 버전 또는 서비스 계층입니다. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (데이터베이스의 경우 master )
- FabricSQLDB: Microsoft Fabric의 SQL 데이터베이스
- NULL: 데이터베이스가 시작되지 않았습니다.

적용 대상: Azure SQL 데이터베이스, Microsoft Fabric의 SQL 데이터베이스, Azure Synapse Analytics.
IsAnsiNullDefault

데이터 형식: int
데이터베이스는 값을 허용하기 NULL 위한 ISO 규칙을 따릅니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAnsiNullsEnabled

데이터 형식: int
모든 비교를 NULL 알 수 없는 것으로 평가합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAnsiPaddingEnabled

데이터 형식: int
비교 또는 삽입하기 전에 문자열이 동일한 길이만큼 채워집니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAnsiWarningsEnabled

데이터 형식: int
표준 오류 조건이 발생하면 SQL Server에서 오류 메시지나 경고 메시지를 표시합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsArithmeticAbortEnabled

데이터 형식: int
쿼리 실행 시 오버플로나 0으로 나누기 오류가 발생하면 쿼리가 종료됩니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAutoClose

데이터 형식: int
마지막 사용자가 끝낸 후 데이터베이스가 완전히 종료되고 리소스가 해제됩니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAutoCreateStatistics

데이터 형식: int
쿼리 최적화 프로그램에서 필요할 경우 단일 열 통계를 작성하여 쿼리 성능을 향상시킵니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAutoCreateStatisticsIncremental

데이터 형식: int
가능하면 자동으로 만든 단일 열 통계는 증분합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력

적용 대상: SQL Server 2014(12.x) 이상 버전
IsAutoShrink

데이터 형식: int
데이터베이스 파일을 주기적으로 자동 축소합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsAutoUpdateStatistics

데이터 형식: int
쿼리에서 오래된 기존 통계를 사용할 경우 쿼리 최적화 프로그램이 이러한 통계를 업데이트합니다. - 1:참
- 0: 거짓
- NULL: 입력이 잘못되었습니다.
IsClone

데이터 형식: int
데이터베이스는 .을 사용하여 만든 DBCC CLONEDATABASE사용자 데이터베이스의 스키마 및 통계 전용 복사본입니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력

적용 대상: SQL Server 2014(12.x) SP2 이상 버전.
IsCloseCursorsOnCommitEnabled

데이터 형식: int
트랜잭션이 커밋되면 열려 있는 모든 커서가 닫힙니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsDatabaseSuspendedForSnapshotBackup

데이터 형식: int
데이터베이스가 일시 중단되었습니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsFulltextEnabled

데이터 형식: int
데이터베이스에 전체 텍스트 및 의미 체계 인덱싱을 사용하도록 설정되어 있습니다. - 1:참
- 0: 거짓
- NULL: 입력이 잘못되었습니다.

적용 대상: SQL Server 2008(10.0.x) 이상 버전

참고: 이 속성의 값은 이제 아무런 영향을 주지 않습니다. 사용자 데이터베이스는 전체 텍스트 검색을 사용하도록 항상 설정됩니다. SQL Server의 이후 릴리스에서는 이 속성이 제거될 예정입니다. 새 개발 작업에서 이 속성을 사용하지 말고, 가능한 한 빨리 이 속성을 사용하는 애플리케이션을 수정합니다.
IsInStandBy

데이터 형식: int
데이터베이스가 로그 복원이 허용된 읽기 전용으로 온라인 상태입니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsLocalCursorsDefault

데이터 형식: int
커서 선언의 기본값은 .입니다 LOCAL. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsMemoryOptimizedElevateToSnapshotEnabled

데이터 형식: int
메모리 최적화 테이블은 세션 설정 SNAPSHOT 이 낮은 격리 수준으로 설정된 경우 격리를 TRANSACTION ISOLATION LEVELREAD COMMITTED사용하여 READ UNCOMMITTED 액세스됩니다. - 1:참
- 0: 거짓

적용 대상: SQL Server 2014(12.x) 이상 버전
IsMergePublished

데이터 형식: int
복제가 설치된 경우 SQL Server에서 데이터베이스의 테이블을 병합 복제용으로 게시하도록 지원합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsNullConcat

데이터 형식: int
Null 연결 피연산자는 .NULL - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsNumericRoundAbortEnabled

데이터 형식: int
식의 전체 자릿수에서 일부가 손실되면 오류가 발생합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsOptimizedLockingOn

데이터 형식: int
데이터베이스에 대해 최적화된 잠금이 사용하도록 설정됩니다. - 1:참
- 0: 거짓
- NULL: 사용할 수 없음

적용 대상: SQL Server 2025 (17.x) 및 이후 버전, Azure SQL 데이터베이스, Azure SQL Managed InstanceAUTD, Microsoft Fabric의 SQL 데이터베이스.
IsParameterizationForced

데이터 형식: int
PARAMETERIZATION 데이터베이스 SET 옵션은 .입니다 FORCED. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsQuotedIdentifiersEnabled

데이터 형식: int
식별자에 큰따옴표를 사용할 수 있습니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsPublished

데이터 형식: int
복제가 설치된 경우 SQL Server에서 데이터베이스 테이블을 스냅샷 또는 트랜잭션 복제용으로 게시하도록 지원합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsRecursiveTriggersEnabled

데이터 형식: int
트리거를 재귀적으로 실행하도록 설정합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsSubscribed

데이터 형식: int
데이터베이스가 게시를 구독합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsSyncWithBackup

데이터 형식: int
데이터베이스는 게시된 데이터베이스 또는 배포 데이터베이스이며 트랜잭션 복제를 방해하지 않는 복원을 지원합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsTornPageDetectionEnabled

데이터 형식: int
SQL Server 데이터베이스 엔진에서 정전이나 기타 시스템 중단으로 인해 완료되지 않은 I/O 작업을 검색합니다. - 1:참
- 0: 거짓
- NULL: 잘못된 입력
IsVerifiedClone

데이터 형식: int
데이터베이스는 옵션을 사용하여 WITH VERIFY_CLONEDB 만든 사용자 데이터베이스의 스키마 및 통계 전용 복사본입니다 DBCC CLONEDATABASE. - 1:참
- 0: 거짓
- NULL: 잘못된 입력

적용 대상: SQL Server 2016(13.x) SP2 이상 버전.
IsXTPSupported

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

SQL Server에만 해당 :

IsXTPSupported는 In-Memory OLTP 개체를 만드는 데 필요한 파일 그룹의 존재 MEMORY_OPTIMIZED_DATA 와는 독립적입니다.
- 1:참
- 0: 거짓
- NULL: 잘못된 입력, 오류 또는 해당 없음

적용 대상: SQL Server 2016(13.x) 이상 버전 및 Azure SQL Database.
LastGoodCheckDbTime

데이터 형식: 날짜/시간
지정된 데이터베이스에서 실행된 마지막 성공 DBCC CHECKDB 날짜 및 시간입니다. 데이터베이스 DBCC CHECKDB 에서 실행되지 않은 경우 1900-01-01 00:00:00.000 반환됩니다. 가용성 그룹의 LastGoodCheckDbTime 일부인 데이터베이스의 경우 명령을 실행한 복제본에 관계없이 주 복제본에서 실행된 마지막 성공 DBCC CHECKDB 날짜와 시간을 반환합니다. NULL: 잘못된 입력

적용 대상: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) 이후 버전, Azure SQL 데이터베이스, Microsoft Fabric의 SQL 데이터베이스.
LCID

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

데이터 형식: bigint
최대 데이터베이스 크기(바이트)입니다. - Azure SQL Database 및 Azure Synapse Analytics: 추가 스토리지를 구입하지 않는 한 값은 SLO를 기반으로 합니다.

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

- NULL: 데이터베이스가 시작되지 않음

적용 대상: Azure SQL 데이터베이스, Microsoft Fabric의 SQL 데이터베이스, Azure Synapse Analytics.
Recovery

데이터 형식: nvarchar(128)
데이터베이스 복구 모델. - FULL: 전체 복구 모델
- BULK_LOGGED: 대량 로그된 모델
- SIMPLE: 단순 복구 모델
ServiceObjective

데이터 형식: nvarchar(32)
SQL 데이터베이스, Microsoft Fabric의 SQL 데이터베이스, Azure Synapse Analytics의 데이터베이스 성능 수준을 설명합니다. 다음 값 중 하나입니다.

- NULL: 데이터베이스가 시작되지 않음
- Shared (Web/Business 버전의 경우)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (데이터베이스의 경우 master )
- FabricSQLDB: Microsoft Fabric의 SQL 데이터베이스
ServiceObjectiveId

데이터 형식: uniqueidentifier
SQL Database의 서비스 목표 ID입니다. 서비스 목표의 ID입니다.
SQLSortOrder

데이터 형식: tinyint
이전 버전의 SQL Server에서 지원하는 SQL Server 정렬 순서 ID입니다. - 0: 데이터베이스에서 Windows 데이터 정렬 사용

- >0: SQL Server 정렬 순서 ID

- NULL: 입력이 잘못되었거나 데이터베이스가 시작되지 않았습니다.
Status

데이터 형식: nvarchar(128)
데이터베이스 상태입니다. ONLINE: 데이터베이스를 쿼리에 사용할 수 있습니다.

메모: 이 함수는 데이터베이스가 열리고 아직 복구되지 않은 동안의 ONLINE 상태를 반환할 수 있습니다. 데이터베이스가 ONLINE 연결을 허용할 수 있는지 확인하려면 .의 CollationDATABASEPROPERTYEX속성을 쿼리합니다. 데이터베이스 데이터 정렬이 ONLINE null이 아닌 값을 반환하는 경우 데이터베이스는 연결을 허용할 수 있습니다. Always On 데이터베이스의 database_statedatabase_state_descsys.dm_hadr_database_replica_states경우 .

- OFFLINE: 데이터베이스가 명시적으로 오프라인으로 전환되었습니다.

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

- RECOVERING: 데이터베이스 복구가 시작되었으며 데이터베이스가 아직 쿼리할 준비가 되지 않았습니다.

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

- EMERGENCY: 데이터베이스가 비상, 읽기 전용 상태입니다. 액세스는 sysadmin 멤버로 제한됩니다.
Updateability

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

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

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

- RESTRICTED_USER: db_owner, dbcreator 또는 sysadmin 역할의 멤버만

- MULTI_USER: 모든 사용자
Version

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

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

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

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

적용 대상: Azure SQL Database 하이퍼스케일.

반환 형식

sql_variant

예외

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

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

설명

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

예제

이 문서의 코드 샘플은 AdventureWorks2025 또는 AdventureWorksDW2025 샘플 데이터베이스를 사용합니다. 이 데이터베이스는 Microsoft SQL Server 샘플 및 커뮤니티 프로젝트 홈페이지에서 다운로드할 수 있습니다.

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

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

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');