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의 버전에 해당하는 정수입니다.
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 상태를 반환합니다.
|
||||||||||||||
state_desc |
nvarchar(60) |
데이터베이스 상태에 대한 설명입니다.
|
||||||||||||||
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 옵션으로 설정되는 허용된 스냅숏 격리 트랜잭션의 상태에 대한 설명입니다.
|
||||||||||||||
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) |
선택된 복구 모델에 대한 설명입니다.
|
||||||||||||||
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) |
트랜잭션 로그 공간을 다시 사용하기 위해 무엇을 기다리는지에 대한 설명입니다.
|
||||||||||||||
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 |
데이터베이스가 페더레이션의 멤버인지 여부를 나타냅니다.
|
사용 권한
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.databases 및 sys.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.databases 및 sys.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;
참고 항목
참조
sys.database_mirroring_witnesses(Transact-SQL)
sys.database_recovery_status(Transact-SQL)
데이터베이스 및 파일 카탈로그 뷰(Transact-SQL)