sys.databases(Transact-SQL)

Microsoft SQL Server 또는 Windows Azure SQL 데이터베이스 서버 인스턴스의 각 데이터베이스당 한 개의 행을 포함합니다.

적용 대상: SQL Server(SQL Server 2008부터 현재 버전까지), Windows Azure SQL 데이터베이스(최초 릴리스부터 현재 릴리스까지)

데이터베이스가 ONLINE이 아니거나 AUTO_CLOSE가 ON으로 설정되어 있고 데이터베이스가 닫혀 있으면 일부 열의 값이 NULL일 수 있습니다. 데이터베이스가 OFFLINE이면 낮은 권한을 가진 사용자는 해당 행을 볼 수 없습니다. 데이터베이스가 OFFLINE인 경우 해당 행을 보려면 최소한 서버 수준의 ALTER ANY DATABASE 권한이 있거나 master 데이터베이스에서 CREATE DATABASE 권한이 있어야 합니다.

열 이름

데이터 형식

설명

name

sysname

SQL Server 인스턴스 또는 Windows Azure SQL 데이터베이스 서버 내에서 고유한 데이터베이스 이름입니다.

database_id

int

SQL Server 인스턴스 또는 Windows Azure SQL 데이터베이스 서버 내에서 고유한 데이터베이스 ID입니다.

source_database_id

int

NULL이 아닌 경우 = 이 데이터베이스 스냅숏의 원본 데이터베이스 ID입니다.

NULL = 데이터베이스 스냅숏이 아닙니다.

owner_sid

varbinary(85)

서버에 등록된 데이터베이스 외부 소유자의 SID(보안 ID)입니다.

create_date

datetime

데이터베이스가 작성되었거나 이름이 변경된 날짜입니다. tempdb의 경우 이 값은 서버가 다시 시작될 때마다 변경됩니다.

compatibility_level

tinyint

동작이 호환되는 SQL Server의 버전에 해당하는 정수입니다.

적용 대상

70

SQL Server 2008 및 SQL Server 2008 R2

80

SQL Server 2008 및 SQL Server 2008 R2

90

SQL Server 2008부터 SQL Server 2012 및 Windows Azure SQL 데이터베이스

100

SQL Server 2008부터 SQL Server 2012 및 Windows Azure SQL 데이터베이스

110

SQL Server 2012

NULL

SQL Server 2008부터 SQL Server 2012 및 Windows Azure SQL 데이터베이스

NULL = 데이터베이스가 온라인이 아니거나 AUTO_CLOSE가 ON으로 설정되어 있고 데이터베이스가 닫혀 있습니다.

collation_name

sysname

데이터베이스용 데이터 정렬입니다. 데이터베이스의 기본 데이터 정렬로 사용됩니다.

NULL = 데이터베이스가 온라인이 아니거나 AUTO_CLOSE가 ON으로 설정되어 있고 데이터베이스가 닫혀 있습니다.

user_access

tinyint

사용자 액세스 설정입니다.

0 = MULTI_USER로 지정됨

1 = SINGLE_USER로 지정됨

2 = RESTRICTED_USER로 지정됨

user_access_desc

nvarchar(60)

사용자 액세스 설정에 대한 설명입니다.

MULTI_USER

SINGLE_USER

RESTRICTED_USER

is_read_only

bit

1 = 데이터베이스가 READ_ONLY입니다.

0 = 데이터베이스가 READ_WRITE입니다.

is_auto_close_on

bit

1 = AUTO_CLOSE가 ON입니다.

0 = AUTO_CLOSE가 OFF입니다.

is_auto_shrink_on

bit

1 = AUTO_SHRINK가 ON입니다.

0 = AUTO_SHRINK가 OFF입니다.

state

tinyint

데이터베이스 상태입니다.

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY

6 = OFFLINE

7 = COPYING(Windows Azure SQL 데이터베이스에 적용됨)

Windows Azure SQL 데이터베이스는 0, 1, 4 및 7 상태를 반환합니다.

[!참고]

방금 온라인이 된 데이터베이스는 반드시 연결을 받아들일 준비가 될 필요는 없습니다. 데이터베이스가 연결을 받아들일 수 있는지 식별하려면 sys.databases의 collation_name 열 또는 DATABASEPROPERTYEX의 데이터 정렬 속성을 쿼리하십시오. 데이터베이스 데이터 정렬이 null이 아닌 값을 반환하면 데이터베이스는 연결을 허용할 수 있습니다. AlwaysOn 데이터베이스의 경우 sys.dm_hadr_database_replica_states의 database_state 또는 database_state_desc 열을 쿼리합니다.

자세한 내용은 데이터베이스 상태를 참조하십시오.

state_desc

nvarchar(60)

데이터베이스 상태에 대한 설명입니다.

  • ONLINE

  • RESTORING

  • RECOVERING

  • RECOVERY_PENDING

  • SUSPECT

    SQL 데이터베이스의 경우 SUSPECT = 복사 프로세스가 실패했습니다.

  • EMERGENCY

  • OFFLINE

  • COPYING

is_in_standby

bit

데이터베이스가 로그 복원을 위해 읽기 전용 상태임을 나타냅니다.

is_cleanly_shutdown

bit

1 = 데이터베이스가 올바르게 종료되었으므로 시작할 때 복구가 필요하지 않습니다.

0 = 데이터베이스가 올바르게 종료되지 않았으므로 시작할 때 복구가 필요합니다.

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING이 ON입니다.

0 = SUPPLEMENTAL_LOGGING이 OFF입니다.

snapshot_isolation_state

tinyint

ALLOW_SNAPSHOT_ISOLATION 옵션으로 설정되는 허용된 스냅숏 격리 트랜잭션의 상태입니다.

0 = 스냅숏 격리 상태가 OFF입니다(기본값). 스냅숏 격리가 허용되지 않습니다.

1 = 스냅숏 격리 상태가 ON입니다. 스냅숏 격리가 허용됩니다.

2 = 스냅숏 격리 상태가 OFF로 전환 중입니다. 모든 트랜잭션에는 버전이 부여된 수정판이 있습니다. 스냅숏 격리를 사용해 새 트랜잭션을 시작할 수 없습니다. ALTER DATABASE가 실행되었을 때 활성 상태인 모든 트랜잭션이 완료될 때까지 데이터베이스는 OFF로 전환 중인 상태를 유지합니다.

3 = 스냅숏 격리 상태가 ON으로 전환 중입니다. 새 트랜잭션에는 버전이 부여된 수정판이 있습니다. 스냅숏 격리 상태가 1(ON)이 될 때까지 트랜잭션은 스냅숏 격리를 사용할 수 없습니다. ALTER DATABASE가 실행되었을 때 활성 상태인 모든 업데이트 트랜잭션이 완료될 때까지 데이터베이스는 ON으로 전환 중인 상태를 유지합니다.

snapshot_isolation_state_desc

nvarchar(60)

ALLOW_SNAPSHOT_ISOLATION 옵션으로 설정되는 허용된 스냅숏 격리 트랜잭션의 상태에 대한 설명입니다.

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

is_read_committed_snapshot_on

bit

1 = READ_COMMITTED_SNAPSHOT 옵션은 ON입니다. READ COMMITTED 격리 수준에서의 읽기 작업은 스냅숏 검색을 기반으로 하며 잠금을 획득하지 않습니다.

0 = READ_COMMITTED_SNAPSHOT 옵션은 OFF(기_본값)입니다. READ COMMITTED 격리 수준에서의 읽기 작업은 공유 잠금을 사용합니다.

recovery_model

tinyint

선택된 복구 모델입니다.

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

선택된 복구 모델에 대한 설명입니다.

  • FULL

  • BULK_LOGGED

  • SIMPLE

page_verify_option

tinyint

PAGE_VERIFY 옵션 설정입니다.

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

PAGE_VERIFY 옵션 설정에 대한 설명입니다.

NONE

TORN_PAGE_DETECTION

CHECKSUM

is_auto_create_stats_on

bit

1 = AUTO_CREATE_STATISTICS가 ON입니다.

0 = AUTO_CREATE_STATISTICS가 OFF입니다.

is_auto_update_stats_on

bit

1 = AUTO_UPDATE_STATISTICS가 ON입니다.

0 = AUTO_UPDATE_STATISTICS가 OFF입니다.

is_auto_update_stats_async_on

bit

1 = AUTO_UPDATE_STATISTICS_ASYNC가 ON입니다.

0 = AUTO_UPDATE_STATISTICS_ASYNC가 OFF입니다.

is_ansi_null_default_on

bit

1 = ANSI_NULL_DEFAULT가 ON입니다.

0 = ANSI_NULL_DEFAULT가 OFF입니다.

is_ansi_nulls_on

bit

1 = ANSI_NULLS가 ON입니다.

0 = ANSI_NULLS가 OFF입니다.

is_ansi_padding_on

bit

1 = ANSI_PADDING이 ON입니다.

0 = ANSI_PADDING이 OFF입니다.

is_ansi_warnings_on

bit

1 = ANSI_WARNINGS가 ON입니다.

0 = ANSI_WARNINGS가 OFF입니다.

is_arithabort_on

bit

1 = ARITHABORT가 ON입니다.

0 = ARITHABORT가 OFF입니다.

is_concat_null_yields_null_on

bit

1 = CONCAT_NULL_YIELDS_NULL이 ON입니다.

0 = CONCAT_NULL_YIELDS_NULL이 OFF입니다.

is_numeric_roundabort_on

bit

1 = NUMERIC_ROUNDABORT가 ON입니다.

0 = NUMERIC_ROUNDABORT가 OFF입니다.

is_quoted_identifier_on

bit

1 = QUOTED_IDENTIFIER가 ON입니다.

0 = QUOTED_IDENTIFIER가 OFF입니다.

is_recursive_triggers_on

bit

1 = RECURSIVE_TRIGGERS가 ON입니다.

0 = RECURSIVE_TRIGGERS가 OFF입니다.

is_cursor_close_on_commit_on

bit

1 = CURSOR_CLOSE_ON_COMMIT이 ON입니다.

0 = CURSOR_CLOSE_ON_COMMIT이 OFF입니다.

is_local_cursor_default

bit

1 = CURSOR_DEFAULT가 로컬입니다.

0 = CURSOR_DEFAULT가 전역입니다.

is_fulltext_enabled

bit

1 = 데이터베이스에서 전체 텍스트를 사용할 수 있습니다.

0 = 데이터베이스에서 전체 텍스트를 사용할 수 없습니다.

is_trustworthy_on

bit

1 = 데이터베이스가 신뢰할 수 있는 것으로 표시되어 있습니다.

0 = 데이터베이스가 신뢰할 수 있는 것으로 표시되지 않았습니다.

is_db_chaining_on

bit

1 = 데이터베이스 간 소유권 체인이 ON 상태입니다.

0 = 데이터베이스 간 소유권 체인이 OFF 상태입니다.

is_parameterization_forced

bit

1 = 매개 변수화가 FORCED로 설정되어 있습니다.

0 = 매개 변수화가 SIMPLE로 설정되어 있습니다.

is_master_key_encrypted_by_server

bit

1 = 데이터베이스에 암호화된 마스터 키가 있습니다.

0 = 데이터베이스에 암호화된 마스터 키가 없습니다.

is_published

bit

1 = 데이터베이스가 트랜잭션 또는 스냅숏 복제 토폴로지에서 게시 데이터베이스입니다.

0 = 게시 데이터베이스가 아닙니다.

is_subscribed

bit

이 열은 사용되지 않으며, 데이터베이스의 구독자 상태에 관계없이 항상 0을 반환합니다.

is_merge_published

bit

1 = 데이터베이스가 병합 복제 토폴로지에서 게시 데이터베이스입니다.

0 = 병합 복제 토폴로지에서 게시 데이터베이스가 아닙니다.

is_distributor

bit

1 = 데이터베이스가 복제 토폴로지용 배포 데이터베이스입니다.

0 = 복제 토폴로지용 배포 데이터베이스가 아닙니다.

is_sync_with_backup

bit

1 = 데이터베이스가 백업과의 복제 동기화용으로 표시되어 있습니다.

0 = 백업과의 복제 동기화용으로 표시되어 있지 않습니다.

service_broker_guid

uniqueidentifier

이 데이터베이스의 Service Broker ID입니다. 라우팅 테이블에서 대상의 broker_instance로 사용됩니다.

is_broker_enabled

bit

1 = 이 데이터베이스의 브로커가 현재 메시지를 주고받고 있습니다.

0 = 이 데이터베이스에서 보낸 모든 메시지는 전송 큐에서 대기하며 수신된 메시지는 큐에 배치되지 않습니다.

복원되거나 첨부된 데이터베이스의 경우 브로커를 사용하지 않도록 기본 설정됩니다. 단, 장애 조치(Failover) 후 브로커가 설정된 데이터베이스 미러링은 예외입니다.

log_reuse_wait

tinyint

트랜잭션 로그 공간을 다시 사용하기 위해 현재 다음을 기다리고 있습니다.

0 = 없음

1 = 검사점

2 = 로그 백업

3 = 활성 백업 또는 복원

4 = 활성 트랜잭션

5 = 데이터베이스 미러링

6 = 복제

7 = 데이터베이스 스냅숏 생성

8 = 로그 스캔

9 = AlwaysOn 가용성 그룹 보조 복제본에서 하나 이상의 해당하는 보조 데이터베이스에 이 데이터베이스의 트랜잭션 로그 레코드를 적용하고 있습니다.

적용 대상: SQL Server 2012부터 SQL Server 2012까지 이전 버전의 SQL Server에서 9 = 기타(일시적)입니다.

10 = 내부용으로만 사용할 수 있습니다.

11 = 내부용으로만 사용할 수 있습니다.

12 = 내부용으로만 사용할 수 있습니다.

13 = 가장 오래된 페이지

적용 대상: SQL Server 2012부터 SQL Server 2012까지

14 = 기타(일시적)

적용 대상: SQL Server 2012부터 SQL Server 2012까지

log_reuse_wait_desc

nvarchar(60)

트랜잭션 로그 공간을 다시 사용하기 위해 무엇을 기다리는지에 대한 설명입니다.

  • NOTHING

  • CHECKPOINT

  • LOG_BACKUP

    [!참고]

    원인이 LOG_BACKUP이면 실제로 공간을 비우기 위해 두 개의 백업이 필요합니다.

  • ACTIVE_BACKUP_OR_RESTORE

  • ACTIVE_TRANSACTION

  • DATABASE_MIRRORING

  • REPLICATION

  • DATABASE_SNAPSHOT_CREATION

  • LOG_SCAN

  • AVAILABILITY_REPLICA

    [!참고]

    로그 잘림이 지연되고 있는 보조 데이터베이스를 확인하려면 sys.dm_hadr_database_replica_states 동적 관리 뷰의 truncation_lsn 열을 참조합니다.

  • 내부용으로만 사용할 수 있습니다.

  • 내부용으로만 사용할 수 있습니다.

  • 내부용으로만 사용할 수 있습니다.

  • OLDEST_PAGE

  • OTHER_TRANSIENT

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION이 ON입니다.

0 = DATE_CORRELATION_OPTIMIZATION이 OFF입니다.

is_cdc_enabled

bit

1 = 데이터베이스에 변경 데이터 캡처가 설정되어 있습니다. 자세한 내용은 sys.sp_cdc_enable_db(Transact-SQL)를 참조하십시오.

is_encrypted

bit

데이터베이스가 암호화되었는지 여부를 나타냅니다(ALTER DATABASE SET ENCRYPTION 절을 사용하여 마지막으로 설정된 상태를 표시함). 다음 값 중 하나를 사용할 수 있습니다.

1 = 암호화됨

0 = 암호화되지 않음

데이터베이스 암호화에 대한 자세한 내용은 투명한 데이터 암호화를 참조하십시오.

데이터베이스를 해독하는 중에는 is_encrypted 값이 0으로 표시됩니다. sys.dm_database_encryption_keys 동적 관리 뷰를 사용하면 암호화 프로세스 상태를 확인할 수 있습니다.

is_honor_broker_priority_on

bit

데이터베이스에서 대화 우선 순위가 적용되는지 여부를 나타냅니다(ALTER DATABASE SET HONOR_BROKER_PRIORITY 절을 사용하여 마지막으로 설정된 상태를 표시함). 다음 값 중 하나를 사용할 수 있습니다.

1 = HONOR_BROKER_PRIORITY가 ON입니다.

0 = HONOR_BROKER_PRIORITY가 OFF입니다.

replica_id

uniqueidentifier

데이터베이스가 참여하는 가용성 그룹(있는 경우)의 로컬 AlwaysOn 가용성 그룹 가용성 복제본에 대한 고유 식별자입니다.

NULL = 데이터베이스가 가용성 그룹에 포함된 가용성 복제본의 일부가 아닙니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

group_database_id

uniqueidentifier

데이터베이스가 참여하는 AlwaysOn 가용성 그룹(있는 경우) 내의 데이터베이스에 대한 고유 식별자입니다. group_database_id는 데이터베이스가 가용성 그룹에 조인된 주 복제본 및 모든 보조 복제본에서 이 데이터베이스에 대해 동일합니다.

NULL = 데이터베이스가 가용성 그룹에 포함된 가용성 복제본의 일부가 아닙니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

default_language_lcid

smallint

포함된 데이터베이스의 기본 언어에 대한 로컬 ID(lcid)를 나타냅니다.

참고 sp_configure의 default language 서버 구성 옵션 구성처럼 동작합니다. 포함되지 않은 데이터베이스의 경우 이 값은 null입니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

default_language_name

nvarchar(128)

포함된 데이터베이스의 기본 언어를 나타냅니다.

포함되지 않은 데이터베이스의 경우 이 값은 null입니다.

default_fulltext_language_lcid

int

포함된 데이터베이스의 기본 전체 텍스트 언어에 대한 로컬 ID(lcid)를 나타냅니다.

참고 sp_configure의 기본 default full-text language 서버 구성 옵션 구성처럼 동작합니다. 포함되지 않은 데이터베이스의 경우 이 값은 null입니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

default_fulltext_language_name

nvarchar(128)

포함된 데이터베이스의 기본 전체 텍스트 언어를 나타냅니다.

포함되지 않은 데이터베이스의 경우 이 값은 null입니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

is_nested_triggers_on

비트

포함된 데이터베이스에서 중첩 트리거가 허용되는지 여부를 나타냅니다.

0 = 중첩 트리거가 허용되지 않습니다.

1 = 중첩 트리거가 허용됩니다.

참고 sp_configure의 nested triggers 서버 구성 옵션 구성처럼 동작합니다. 포함되지 않은 데이터베이스의 경우 이 값은 null입니다. 자세한 내용은 sys.configurations(Transact-SQL)를 참조하십시오.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

is_transform_noise_words_on

비트

포함된 데이터베이스에서 의미 없는 단어가 변환되는지 여부를 나타냅니다.

0 = 의미 없는 단어가 변환되지 않습니다.

1 = 의미 없는 단어가 변환됩니다.

적용 대상: SQL Server 2012부터 SQL Server 2012까지

참고 sp_configure의 transform noise words 서버 구성 옵션처럼 동작합니다. 포함되지 않은 데이터베이스의 경우 이 값은 null입니다. 자세한 내용은 sys.configurations(Transact-SQL)를 참조하십시오.

two_digit_year_cutoff

smallint

두 자리 연도를 네 자리 연도로 해석하기 위한 구분 연도를 나타내는 1753에서 9999까지의 숫자 값을 나타냅니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

참고 sp_configure의 two digit year cutoff 서버 구성 옵션 구성처럼 동작합니다. 포함되지 않은 데이터베이스의 경우 이 값은 null입니다. 자세한 내용은 sys.configurations(Transact-SQL)를 참조하십시오.

containment

tinyint not null

데이터베이스의 포함 상태를 나타냅니다.

0 = 데이터베이스가 포함되지 않습니다.

1 = 데이터베이스가 부분적으로 포함됩니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

containment_desc

nvarchar(60) not null

데이터베이스의 포함 상태를 나타냅니다.

NONE = 레거시 데이터베이스입니다(containment = 0).

PARTIAL = 부분적으로 포함된 데이터베이스입니다.

적용 대상: SQL Server 2012부터 SQL Server 2012 및 SQL 데이터베이스까지

target_recovery_time_in_seconds

int

데이터베이스 복구 예상 시간(초)입니다. Null을 허용합니다.

적용 대상: SQL Server 2012부터 SQL Server 2012까지

is_federation_member

bit

데이터베이스가 페더레이션의 멤버인지 여부를 나타냅니다.

적용 대상: Windows Azure SQL 데이터베이스

사용 권한

sys.databases의 호출자가 데이터베이스의 소유자가 아니고 데이터베이스가 master 또는 tempdb가 아닐 경우 해당 행을 보려면 최소한 서버 수준의 ALTER ANY DATABASE 또는 VIEW ANY DATABASE 권한이 있거나 master 데이터베이스에서 CREATE DATABASE 권한이 있어야 합니다. 호출자가 연결된 데이터베이스는 항상 sys.databases에서 볼 수 있습니다.

Windows Azure SQL 데이터베이스 설명

Windows Azure SQL 데이터베이스에서 이 뷰는 master 데이터베이스 및 사용자 데이터베이스에서 사용할 수 있습니다. master 데이터베이스에서 이 뷰는 master 데이터베이스와 서버에 있는 모든 사용자 데이터베이스에 대한 정보를 반환합니다. 사용자 데이터베이스에서 이 뷰는 현재 데이터베이스와 master 데이터베이스에 있는 정보만을 반환합니다.

새 데이터베이스를 만드는 Windows Azure SQL 데이터베이스 서버의 master 데이터베이스에서 sys.databases 뷰를 사용합니다. 데이터베이스 복사가 시작되면 대상 서버의 master 데이터베이스에서 sys.databasessys.dm_database_copies 뷰를 쿼리하여 복사 진행 상황에 대한 자세한 정보를 검색할 수 있습니다.

1.sys.databases 뷰 쿼리

다음 예에서는 sys.databases 뷰에서 사용할 수 있는 몇 개의 열을 반환합니다.

적용 대상: SQL Server 2008부터 SQL Server 2012 및 Windows Azure SQL 데이터베이스까지

SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
FROM sys.databases;

2.Windows Azure SQL 데이터베이스에서 복사 상태 확인

다음 예에서는 sys.databasessys.dm_database_copies 뷰를 쿼리하여 데이터베이스 복사 작업에 대한 정보를 반환합니다.

적용 대상: Windows Azure SQL 데이터베이스

-- Execute from the master database.
SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percentage_complete
FROM sys.databases AS a
INNER JOIN sys.dm_database_copies AS b ON a.database_id = b.database_id
WHERE a.state = 7;

참고 항목

참조

ALTER DATABASE(Transact-SQL)

sys.database_mirroring_witnesses(Transact-SQL)

sys.database_recovery_status(Transact-SQL)

데이터베이스 및 파일 카탈로그 뷰(Transact-SQL)

관련 자료

sys.dm_database_copies