SQL Server에는 다음 시스템 데이터베이스가 포함됩니다.
시스템 데이터베이스 | 설명 |
---|---|
마스터 데이터베이스 | SQL Server 인스턴스에 대한 모든 시스템 수준 정보를 기록합니다. |
msdb 데이터베이스 | SQL Server 에이전트는 경고 및 작업을 예약하는 데 사용됩니다. |
model Database | SQL Server 인스턴스에서 만든 모든 데이터베이스에 대한 템플릿으로 사용됩니다. 데이터베이스 크기, 데이터 정렬, 복구 모델 및 기타 데이터베이스 옵션과 같은 모델 데이터베이스를 수정한 내용은 나중에 만든 모든 데이터베이스에 적용됩니다. |
리소스 데이터베이스 | SQL Server에 포함된 시스템 개체를 포함하는 읽기 전용 데이터베이스입니다. 시스템 개체는 리소스 데이터베이스에 물리적으로 유지되지만 논리적으로 모든 데이터베이스 의 sys 스키마에 나타납니다. |
tempdb 데이터베이스 | 임시 개체 또는 중간 결과 집합을 보유하기 위한 작업 영역입니다. |
시스템 데이터 수정
SQL Server는 시스템 테이블, 시스템 저장 프로시저 및 카탈로그 뷰와 같은 시스템 개체의 정보를 직접 업데이트하는 사용자를 지원하지 않습니다. 대신 SQL Server에는 사용자가 자신의 시스템을 완전히 관리하고 데이터베이스의 모든 사용자 및 개체를 관리할 수 있는 완전한 관리 도구 집합을 제공합니다. 여기에는 다음이 포함되었습니다.
SQL Server Management Studio와 같은 관리 유틸리티
SQL-SMO API. 이를 통해 프로그래머는 애플리케이션에서 SQL Server를 관리하기 위한 완전한 기능을 포함할 수 있습니다.
Transact-SQL 스크립트와 저장 프로시저. 이들은 시스템 저장 프로시저 및 Transact-SQL DDL 명령문을 사용할 수 있습니다.
이러한 도구는 시스템 개체의 변경으로부터 애플리케이션을 보호합니다. 예를 들어 SQL Server는 새 버전의 SQL Server에서 시스템 테이블을 변경하여 해당 버전에 추가되는 새 기능을 지원해야 하는 경우가 있습니다. 시스템 테이블을 직접 참조하는 SELECT 문을 실행하는 애플리케이션은 시스템 테이블의 이전 형식에 따라 자주 달라집니다. 사이트는 시스템 테이블에서 선택하는 애플리케이션을 다시 작성할 때까지 새 버전의 SQL Server로 업그레이드할 수 없습니다. SQL Server는 시스템 저장 프로시저, DDL 및 SQL-SMO 게시된 인터페이스를 고려하고 이러한 인터페이스의 이전 버전과의 호환성을 유지하기 위해 작동합니다.
SQL Server는 시스템 작업을 수정할 수 있으므로 시스템 테이블에 정의된 트리거를 지원하지 않습니다.
비고
시스템 데이터베이스는 UNC 공유 디렉터리에 상주할 수 없습니다.
시스템 데이터베이스 데이터 보기
애플리케이션에 필요한 정보를 가져오는 유일한 방법이 아니면 시스템 테이블을 직접 쿼리하는 Transact-SQL 문을 코딩해서는 안 됩니다. 대신 애플리케이션은 다음을 사용하여 카탈로그 및 시스템 정보를 가져와야 합니다.
시스템 목록 보기
SQL-SMO
WMI(Windows Management Instrumentation) 인터페이스
ADO, OLE DB 또는 ODBC와 같이 애플리케이션에서 사용되는 데이터 API의 카탈로그 함수, 메서드, 특성 또는 속성입니다.
Transact-SQL 시스템 저장 프로시저 및 기본 제공 함수.
관련 작업
시스템 데이터베이스 백업 및 복원(SQL Server)