DATABASEPROPERTYEX(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
이 함수는 SQL Server에 지정된 데이터베이스에 대해 지정된 데이터베이스 옵션이나 속성의 현재 설정을 반환합니다.
구문
DATABASEPROPERTYEX ( database , property )
인수
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 | 연결된 하이퍼스케일 데이터베이스/복제본의 복제본 ID입니다. | 적용 대상: Azure SQL Database. 연결된 하이퍼스케일 데이터베이스/복제본의 복제본 ID만 반환합니다. 복제본 유형에 대한 자세한 내용은 하이퍼스케일 보조 복제본을 참조 하세요 . 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)