システム ベース テーブル

システム ベース テーブルは、特定のデータベースのメタデータを実際に格納する、基になるテーブルです。master データベースは、他のシステム データベースには存在しないいくつかの追加テーブルが含まれているので、特殊なデータベースです。これらのテーブルには、サーバー規模のスコープを持つ永続的なメタデータが格納されています。Resource データベースには、master データベース以外の他のデータベースと同じベース テーブル スキーマが格納されています。ただし、Resource データベースは表示されないので、ユーザーはこのデータベースを使用したり、このデータベースに接続したりすることはできません。Resource データベースの詳細については、「Resource データベース」を参照してください。

重要な注意事項重要

システム ベース テーブルは、SQL Server データベース エンジン内のみで使用されるテーブルであり、一般ユーザーが使用するテーブルではありません。これらのテーブルは将来変更される可能性があり、互換性は保証されません。

システム ベース テーブルのメタデータ

データベースに対する CONTROL、ALTER、または VIEW DEFINITION 権限が許可されているユーザーは、sys.objects カタログ ビューでシステム ベース テーブルのメタデータを表示できます。また、OBJECT_NAMEOBJECT_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 行のデータを格納します。