システム データベースSystem Databases

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database

SQL ServerSQL Server には、次のシステム データベースが用意されています。includes the following system databases.

システム データベースSystem database 説明Description
master データベースmaster Database SQL ServerSQL Serverのインスタンスのシステムレベルの情報をすべて記録します。Records all the system-level information for an instance of SQL ServerSQL Server.
msdb データベースmsdb Database 警告やジョブのスケジュールを設定するために SQL Server エージェントにより使用されます。Is used by SQL Server Agent for scheduling alerts and jobs.
model データベースmodel Database SQL ServerSQL Serverのインスタンスで作成されたすべてのデータベースのテンプレートとして使用されます。Is used as the template for all databases created on the instance of SQL ServerSQL Server. データベース サイズ、照合順序、復旧モデル、およびその他のデータベース オプションなどの model データベースに変更を加えると、その変更内容は、それ以降に作成されるすべてのデータベースに適用されます。Modifications made to the model database, such as database size, collation, recovery model, and other database options, are applied to any databases created afterward.
Resource データベースResource Database SQL ServerSQL Serverに装備されているシステム オブジェクトを格納する読み取り専用のデータベースです。Is a read-only database that contains system objects that are included with SQL ServerSQL Server. システム オブジェクトは、物理的には Resource データベースに保存されていますが、すべてのデータベースの sys スキーマに論理的に表示されます。System objects are physically persisted in the Resource database, but they logically appear in the sys schema of every database.
tempdb データベースtempdb Database 一時オブジェクトや生成途中の結果セットを保存するためのワークスペースです。Is a workspace for holding temporary objects or intermediate result sets.

重要

Azure SQL Database 単一データベースおよびエラスティック プールでは、master データベースと tempdb データベースのみが適用されます。For Azure SQL Database single databases and elastic pools, only master Database and tempdb Database apply. 詳しくは、「Azure SQL Database サーバーとは」をご覧ください。For more information, see What is an Azure SQL Database server. Azure SQL Database のコンテキストでの tempdb の詳細については、「SQL Database の Tempdb データベース」を参照してください。For a discussion of tempdb in the context of Azure SQL Database, see tempdb Database in Azure SQL Database. Azure SQL Managed Instance の場合、すべてのシステム データベースが適用されます。For Azure SQL Managed Instance, all system databases apply. Azure SQL Database の Managed Instance について詳しくは、「マネージド インスタンスとは?」をご覧ください。For more information on Managed Instances in Azure SQL Database, see What is a Managed Instance

システム データの変更Modifying System Data

SQL ServerSQL Server では、ユーザーは、システム テーブル、システム ストアド プロシージャ、カタログ ビューなどのシステム オブジェクトに含まれている情報を直接更新できません。does not support users directly updating the information in system objects such as system tables, system stored procedures, and catalog views. SQL ServerSQL Server には、代わりに完全な管理ツール セットが用意されています。ユーザーは、これらのツールを使用して、システムを完全に管理し、データベース内のすべてのユーザーとオブジェクトを管理できます。Instead, SQL ServerSQL Server provides a complete set of administrative tools that let users fully administer their system and manage all users and objects in a database. コーディネートは次のとおりです。These include the following:

  • SQL Server Management StudioSQL Server Management Studioなどの管理ユーティリティ。Administration utilities, such as SQL Server Management StudioSQL Server Management Studio.

  • SQL-SMO API。SQL-SMO API. このツールを使用すると、プログラマはアプリケーションに SQL ServerSQL Server を管理するための完全な機能を含めることができます。This lets programmers include complete functionality for administering SQL ServerSQL Server in their applications.

  • Transact-SQLTransact-SQL スクリプトとストアド プロシージャ。scripts and stored procedures. これらのツールでは、システム ストアド プロシージャと Transact-SQLTransact-SQL DDL ステートメントを使用できます。These can use system stored procedures and Transact-SQLTransact-SQL DDL statements.

上記のツールを使用すると、アプリケーションをシステム オブジェクトの変更による影響から保護できます。These tools shield applications from changes in the system objects. たとえば、 SQL ServerSQL Server では、新しいバージョンの SQL ServerSQL Server に追加された新機能をサポートするために、そのバージョンのシステム テーブルを変更する必要があることがあります。For example, SQL ServerSQL Server sometimes has to change the system tables in new versions of SQL ServerSQL Server to support new functionality that is being added in that version. 多くの場合、システム テーブルを直接参照する SELECT ステートメントを実行しているアプリケーションでは、旧形式のシステム テーブルに依存しています。Applications issuing SELECT statements that directly reference system tables are frequently dependent on the old format of the system tables. そのような場合、システム テーブルに対して SELECT ステートメントを実行するアプリケーションが作成し直されるまで、サイトを新しいバージョンの SQL ServerSQL Server にアップグレードできない可能性があります。Sites may not be able to upgrade to a new version of SQL ServerSQL Server until they have rewritten applications that are selecting from system tables. SQL ServerSQL Server では、システム ストアド プロシージャ、DDL、および SQL-SMO の公開された各インターフェイスを考慮し、これらの旧バージョンとの互換性を維持できるように機能します。considers the system stored procedures, DDL, and SQL-SMO published interfaces, and works to maintain the backward compatibility of these interfaces.

SQL ServerSQL Server システム テーブルで定義されたトリガーでは、システムの動作が変更されることがあるので、このようなトリガーはサポートしていません。does not support triggers defined on the system tables, because they might modify the operation of the system.

注意

システム データベースを UNC 共有ディレクトリに置くことはできません。System databases cannot reside on UNC share directories.

システム データベース データの表示Viewing System Database Data

システム テーブルに対する直接的なクエリを実行するような Transact-SQLTransact-SQL ステートメントは、アプリケーションが必要とする情報を取得する方法が他にない場合を除いて、作成しないでください。You should not code Transact-SQLTransact-SQL statements that directly query the system tables, unless that is the only way to obtain the information that is required by the application. 代わりに、アプリケーションで、次のツールを使用してカタログ情報やシステム情報を取得することをお勧めします。Instead, applications should obtain catalog and system information by using the following:

  • システム カタログ ビューSystem catalog views

  • SQL-SMO。SQL-SMO

  • WMI (Windows Management Instrumentation) インターフェイス。Windows Management Instrumentation (WMI) interface

  • カタログ関数、メソッド、属性、または、ADO、OLE DB、ODBC などのアプリケーションで使用されるデータ API のプロパティ。Catalog functions, methods, attributes, or properties of the data API used in the application, such as ADO, OLE DB, or ODBC.

  • Transact-SQLTransact-SQL システム ストアド プロシージャと組み込み関数。system stored procedures and built-in functions.

システム データベースのバックアップと復元 (SQL Server)Back Up and Restore of System Databases (SQL Server)

オブジェクト エクスプローラーのシステム オブジェクトの非表示Hide System Objects in Object Explorer

カタログ ビュー (Transact-SQL)Catalog Views (Transact-SQL)

データベースDatabases