システム ベース テーブル
システム ベース テーブルは、特定のデータベースのメタデータを実際に格納する、基になるテーブルです。master データベースは、他のシステム データベースには存在しないいくつかの追加テーブルが含まれているので、特殊なデータベースです。これらのテーブルには、サーバー規模のスコープを持つ永続的なメタデータが格納されています。Resource データベースには、master データベース以外の他のデータベースと同じベース テーブル スキーマが格納されています。ただし、Resource データベースは表示されないので、ユーザーはこのデータベースを使用したり、このデータベースに接続したりすることはできません。Resource データベースの詳細については、「Resource データベース」を参照してください。
重要 |
---|
システム ベース テーブルは、SQL Server データベース エンジン内のみで使用されるテーブルであり、一般ユーザーが使用するテーブルではありません。これらのテーブルは将来変更される可能性があり、互換性は保証されません。 |
システム ベース テーブルのメタデータ
データベースに対する CONTROL、ALTER、または VIEW DEFINITION 権限が許可されているユーザーは、sys.objects カタログ ビューでシステム ベース テーブルのメタデータを表示できます。また、OBJECT_NAME や OBJECT_ID などの組み込み関数を使用して、システム ベース テーブルの名前やオブジェクト ID を解決することもできます。
システム ベース テーブルにバインドするには、専用管理者接続 (DAC) を使用して SQL Server のインスタンスに接続する必要があります。DAC で接続せずにシステム ベース テーブルから SELECT クエリを実行しようとすると、エラーが発生します。
重要 |
---|
DAC を使用してシステム ベース テーブルにアクセスできるのは Microsoft の従業員のみであり、一般ユーザーがこの方法でアクセスすることはできません。 |
システム ベース テーブル
次の表に、SQL Server のシステム ベース テーブルの一覧とその説明を示します。
ベース テーブル |
説明 |
---|---|
sys.sysschobjs |
すべてのデータベースに存在します。各行は、データベース内のオブジェクトを表します。 |
sys.sysbinobjs |
すべてのデータベースに存在します。データベース内の Service Broker エンティティごとに 1 行のデータを格納します。Service Broker エンティティには、次のようなものがあります。
名前と型には、固定のバイナリ照合順序が使用されます。 |
sys.sysclsobjs |
すべてのデータベースに存在します。同じ共通プロパティを共有する各種エンティティごとに 1 行のデータを格納します。共通プロパティには、次のようなものがあります。
|
sys.sysnsobjs |
すべてのデータベースに存在します。名前空間スコープのエンティティごとに 1 行のデータ格納します。このテーブルは、XML コレクション エンティティの格納に使用されます。 |
sys.syscolpars |
すべてのデータベースに存在します。テーブル、ビュー、またはテーブル値関数の列ごとに 1 行のデータを格納します。
|
sys.systypedsubobjs |
すべてのデータベースに存在します。型指定されたサブエンティティごとに 1 行のデータを格納します。現時点では、このカテゴリに分類されるのはパーティション関数のパラメーターだけです。 |
sys.sysidxstats |
すべてのデータベースに存在します。テーブルおよびインデックス付きビューのインデックスまたは統計ごとに 1 行のデータを格納します。
注
ヒープを除く各インデックスは同じ名前の統計に関連付けられます。
|
sys.sysiscols |
すべてのデータベースに存在します。保存されたインデックスと統計の列ごとに 1 行のデータを格納します。 |
sys.sysscalartypes |
すべてのデータベースに存在します。ユーザー定義型またはシステム型ごとに 1 行のデータを格納します。 |
sys.sysdbreg |
master データベースだけに存在します。登録されたデータベースごとに 1 行のデータを格納します。 |
sys.sysxsrvs |
master データベースだけに存在します。ローカル サーバー、リンク サーバー、またはリモート サーバーごとに 1 行のデータを格納します。 |
sys.sysrmtlgns |
このシステム ベース テーブルは、master データベースだけに存在します。リモート ログイン マッピングごとに 1 行のデータを格納します。対応するサーバーから送信されてきたと称する受信ログインを、実際のローカル ログインにマップするために使用します。 |
sys.syslnklgns |
master データベースだけに存在します。リンク ログイン マッピングごとに 1 行のデータを格納します。リンク ログイン マッピングは、ローカル サーバーから対応するリンク サーバーへのリモート プロシージャ コールと分散クエリで使用されます。 |
sys.sysxlgns |
master データベースだけに存在します。サーバー プリンシパルごとに 1 行のデータを格納します。 |
sys.sysdbfiles |
すべてのデータベースに存在します。列 dbid が 0 の行は、このデータベースに属するファイルを表します。master データベースでは、列 dbid が 0 以外になる場合があります。その場合、該当する行は master ファイルを表します。 |
sys.sysusermsg |
master データベースだけに存在します。各行は、ユーザー定義エラー メッセージを表します。 |
sys.sysprivs |
すべてのデータベースに存在します。データベース レベルまたはサーバー レベルの権限ごとに 1 行のデータを格納します。
注
サーバー レベルの権限は、master データベースに格納されます。
|
sys.sysowners |
すべてのデータベースに存在します。各行は、データベース プリンシパルを表します。 |
sys.sysobjkeycrypts |
すべてのデータベースに存在します。オブジェクトに関連付けられた対称キー、暗号化処理、または暗号化プロパティごとに 1 行のデータを格納します。 |
sys.syscerts |
すべてのデータベースに存在します。データベース内の証明書ごとに 1 行のデータを格納します。 |
sys.sysasymkeys |
すべてのデータベースに存在します。各行は非対称キーを表します。 |
sys.ftinds |
すべてのデータベースに存在します。データベース内のフルテキスト インデックスごとに 1 行のデータを格納します。 |
sys.sysxprops |
すべてのデータベースに存在します。拡張プロパティごとに 1 行のデータを格納します。 |
sys.sysallocunits |
すべてのデータベースに存在します。ストレージ アロケーション ユニットごとに 1 行のデータを格納します。 |
sys.sysrowsets |
すべてのデータベースに存在します。インデックスまたはヒープのパーティション行セットごとに 1 行のデータを格納します。 |
sys.sysrowsetrefs |
すべてのデータベースに存在します。行セット参照のインデックスごとに 1 行のデータを格納します。 |
sys.syslogshippers |
master データベースだけに存在します。データベース ミラーリング監視サーバーごとに 1 行のデータを格納します。 |
sys.sysremsvcbinds |
すべてのデータベースに存在します。リモート サービス バインドごとに 1 行のデータを格納します。 |
sys.sysconvgroup |
すべてのデータベースに存在します。Service Broker のサービス インスタンスごとに 1 行のデータを格納します。 |
sys.sysxmitqueue |
すべてのデータベースに存在します。Service Broker の転送キューごとに 1 行のデータを格納します。 |
sys.sysdesend |
すべてのデータベースに存在します。Service Broker メッセージ交換の送信エンドポイントごとに 1 行のデータを格納します。 |
sys.sysdercv |
すべてのデータベースに存在します。Service Broker メッセージ交換の受信エンドポイントごとに 1 行のデータを格納します。 |
sys.sysendpts |
master データベースだけに存在します。サーバー内で作成されたエンドポイントごとに 1 行のデータを格納します。 |
sys.syswebmethods |
master データベースだけに存在します。サーバー内で作成された SOAP 対応 HTTP エンドポイントに定義されている SOAP メソッドごとに 1 行のデータを格納します。 |
sys.sysqnames |
すべてのデータベースに存在します。4 バイト ID トークンの名前空間または修飾名ごとに 1 行のデータを格納します。 |
sys.sysxmlcomponent |
すべてのデータベースに存在します。各行は、XML スキーマ コンポーネントを表します。 |
sys.sysxmlfacet |
すべてのデータベースに存在します。XML 型定義の XML ファセット (制約) ごとに 1 行のデータを格納します。 |
sys.sysxmlplacement |
すべてのデータベースに存在します。XML コンポーネントの XML 配置ごとに 1 行のデータを格納します。 |
sys.syssingleobjrefs |
すべてのデータベースに存在します。一般的な N 対 1 参照ごとに 1 行のデータを格納します。 |
sys.sysmultiobjrefs |
すべてのデータベースに存在します。一般的な N 対 N 参照ごとに 1 行のデータを格納します。 |
sys.sysobjvalues |
すべてのデータベースに存在します。エンティティの一般的な値のプロパティごとに 1 行のデータを格納します。 |
sys.sysguidrefs |
すべてのデータベースに存在します。GUID で分類された ID 参照ごとに 1 行のデータを格納します。 |