次の方法で共有


sys.tables (Transact-SQL)

SQL Server 内のユーザー テーブルごとに 1 行のデータを返します。

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで)

列名

データ型

説明

<継承された列>

 

このビューが継承する列の一覧については、「sys.objects (Transact-SQL)」を参照してください。

lob_data_space_id

int

0 以外の値は、このテーブルのラージ オブジェクト バイナリ (LOB) データを格納するデータ領域 (ファイル グループまたはパーティション構成) の ID です。 LOB データ型の例には、varbinary(max)、varchar(max)、geography、xml が含まれます。

0 = テーブルには LOB データが含まれません。

filestream_data_space_id

int

FILESTREAM ファイル グループまたは FILESTREAM ファイル グループから成るパーティション構成のデータ領域 ID です。

FILESTREAM ファイル グループの名前を報告するには、SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables クエリを実行します。

sys.tables は、filestream_data_space_id = data_space_id で次のビューに結合できます。

  • sys.filegroups

  • sys.partition_schemes

  • sys.indexes

  • sys.allocation_units

  • sys.fulltext_catalogs

  • sys.data_spaces

  • sys.destination_data_spaces

  • sys.master_files

  • sys.database_files

  • backupfilegroup (filegroup_id で結合)

max_column_id_used

int

このテーブルで使用される列 ID の最大値です。

lock_on_bulk_load

bit

テーブルは、一括読み込みにロックされます。 詳細については、「sp_tableoption (Transact-SQL)」を参照してください。

uses_ansi_nulls

bit

テーブルは、SET ANSI_NULLS データベース オプションが ON の場合に作成されます。

is_replicated

bit

1 = テーブルは、スナップショット レプリケーションまたはトランザクション レプリケーションを使用してパブリッシュされます。

has_replication_filter

bit

1 = テーブルにはレプリケーション フィルターがあります。

is_merge_published

bit

1 = テーブルは、マージ レプリケーションを使用してパブリッシュされます。

is_sync_tran_subscribed

bit

1 = テーブルは、即時更新サブスクリプションを使用してサブスクライブされます。

has_unchecked_assembly_data

bit

1 = テーブルに、前回の ALTER ASSEMBLY で定義が変更されたアセンブリに依存する、持続データが含まれています。 このデータは、DBCC CHECKDB または DBCC CHECKTABLE が次回正常に終了した後、0 にリセットされます。

text_in_row_limit

int

text in row で許可される最大バイト数です。

0 = text in row オプションは設定されていません。 詳細については、「sp_tableoption (Transact-SQL)」を参照してください。

large_value_types_out_of_row

bit

1 = 大きい値の型は行外に格納されます。 詳細については、「sp_tableoption (Transact-SQL)」を参照してください。

is_tracked_by_cdc

bit

1 = テーブルで変更データ キャプチャが有効になっています。 詳細については、「sys.sp_cdc_enable_table (Transact-SQL)」を参照してください。

lock_escalation

tinyint

テーブルの LOCK_ESCALATION オプションの値です。

0 = TABLE

1 = DISABLE

2 = AUTO

lock_escalation_desc

nvarchar(60)

テーブルの lock_escalation オプションについての説明テキストです。 有効値は、TABLE、AUTO、および DISABLE です。

is_filetable

bit

1 = テーブルは FileTable です。

FileTable の詳細については、「FileTables (SQL Server)」を参照してください。

適用対象: SQL Server 2012 から SQL Server 2014。

durability

tinyint

返される値は次のとおりです。

0 = SCHEMA_AND_DATA

1 = SCHEMA_ONLY

値 0 が既定値です。

適用対象: SQL Server 2014 から SQL Server 2014。

durability_desc

nvarchar(60)

返される値は次のとおりです。

SCHEMA_AND_DATA

SCHEMA_ONLY

値 SCHEMA_AND_DATA は、テーブルが持続性のあるインメモリ テーブルであることを示します。 SCHEMA_AND_DATA は、メモリ最適化テーブルの既定値です。 値 SCHEMA_ONLY は、メモリ最適化オブジェクトでは、データベースを再起動した場合にテーブル データの更新内容が保存されないことを示します。

適用対象: SQL Server 2014 から SQL Server 2014。

is_memory_optimized

bit

返される値は次のとおりです。

0 = メモリ最適化ではありません。

1 = メモリ最適化です。

値 0 が既定値です。

メモリ最適化テーブルは、他のユーザー テーブルと同様にスキーマがディスク上に保存されるメモリ内のユーザー テーブルです。 メモリ最適化テーブルには、ネイティブ コンパイル ストアド プロシージャからアクセスできます。

適用対象: SQL Server 2014 から SQL Server 2014。

権限

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。 詳細については、「メタデータ表示の構成」を参照してください。

使用例

次の例は、主キーを持たないすべてのユーザー テーブルを返します。

SELECT SCHEMA_NAME(schema_id) AS schema_name
    ,name AS table_name 
FROM sys.tables 
WHERE OBJECTPROPERTY(object_id,'TableHasPrimaryKey') = 0
ORDER BY schema_name, table_name;
GO

関連項目

参照

オブジェクト カタログ ビュー (Transact-SQL)

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

DBCC CHECKDB (Transact-SQL)

DBCC CHECKTABLE (Transact-SQL)

概念

SQL Server システム カタログに対するクエリに関してよく寄せられる質問

インメモリ OLTP (インメモリ最適化)