sys.tables (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス
SQL Server データベース内の各ユーザー テーブルの行を返します。
列名 | データ型 | 説明 |
---|---|---|
<inherited columns> |
このビューが継承する列の一覧については、「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 | データベース オプションON を使用してテーブルがSET ANSI_NULLS 作成されました。 |
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 の詳細については、「FileTable (SQL Server)」を参照してください。 適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database |
is_memory_optimized |
bit | 使用できる値を次に示します。 0 = メモリ最適化ではありません。 1 = メモリ最適化です。 値 0 が既定の値です。 メモリ最適化テーブルは、他のユーザー テーブルと同様にスキーマがディスク上に保存されるメモリ内のユーザー テーブルです。 メモリ最適化テーブルには、ネイティブ コンパイル ストアド プロシージャからアクセスできます。 適用対象: SQL Server 2014 (12.x) 以降のバージョンと Azure SQL Database。 |
durability |
tinyint | 返される値は次のとおりです。 0 = SCHEMA_AND_DATA 1 = SCHEMA_ONLY 値は 0 既定値です。適用対象: SQL Server 2014 (12.x) 以降のバージョン、および Azure SQL Database |
durability_desc |
nvarchar(60) | 使用できる値を次に示します。SCHEMA_ONLY SCHEMA_AND_DATA 値は SCHEMA_AND_DATA 、テーブルが永続的なメモリ内テーブルであることを示します。 SCHEMA_AND_DATA は、メモリ最適化テーブルの既定値です。 値は SCHEMA_ONLY 、メモリ最適化オブジェクトを使用してデータベースを再起動したときにテーブル データが永続化されていないことを示します。適用対象: SQL Server 2014 (12.x) 以降のバージョン、および Azure SQL Database |
temporal_type |
tinyint | テーブルの種類を表す数値: 0 = NON_TEMPORAL_TABLE 1 = HISTORY_TABLE (テンポラル テーブルに関連付けられている)2 = SYSTEM_VERSIONED_TEMPORAL_TABLE 適用対象: SQL Server 2016 (13.x) 以降のバージョン、および Azure SQL Database |
temporal_type_desc |
nvarchar(60) | テーブルの種類のテキストテキスト:NON_TEMPORAL_TABLE HISTORY_TABLE SYSTEM_VERSIONED_TEMPORAL_TABLE 適用対象: SQL Server 2016 (13.x) 以降のバージョン、および Azure SQL Database |
history_table_id |
int | is または is の場合temporal_type は2 、テンポラル テーブルの履歴データメイン含まれるテーブルを返object_id し、それ以外の場合は返しますNULL 。ledger_type 2 適用対象: SQL Server 2016 (13.x) 以降のバージョン、および Azure SQL Database |
is_remote_data_archive_enabled |
bit | テーブルが Stretch 対応かどうかを示します。 0 = テーブルが Stretch 対応ではありません。 1 = テーブルが Stretch 対応です。 詳細については、「 Stretch Database」を参照してください。 適用対象: SQL Server 2016 (13.x) 以降のバージョン、および Azure SQL Database |
is_external |
bit | テーブルが外部テーブルであることを示します。 0 = テーブルが外部テーブルではありません。 1 = テーブルが外部テーブルです。 適用対象: SQL Server 2016 (13.x) 以降のバージョン、Azure SQL Database、および Azure Synapse Analytics |
history_retention_period |
int | で指定した単位で、一時的な履歴保有期間の期間を history_retention_period_unit 表す数値。適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database |
history_retention_period_unit |
int | テンポラル履歴保有期間の単位の種類を表す数値。 -1: INFINITE 0: SECOND 1: MINUTE 2: HOUR 3: DAY 4: WEEK 5: MONTH 6: YEAR 適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database |
history_retention_period_unit_desc |
nvarchar(10) | テンポラル履歴保有期間の単位の種類のテキスト説明。INFINITE SECOND MINUTE HOUR DAY WEEK MONTH YEAR 適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database |
is_node |
bit | 1 = グラフ ノード テーブル。 0 = グラフ ノード テーブルではありません。 適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database |
is_edge |
bit | 1 = グラフ エッジ テーブル。 0 = グラフ エッジ テーブルではありません。 適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database |
data_retention_period |
int | で指定したdata_retention_period_unit 単位でデータ保有期間の期間を表す数値。適用対象: Azure SQL Edge "のみ" |
data_retention_period_unit |
int | データ保有期間単位の種類を表す数値。 -1: INFINITE 0: SECOND 1: MINUTE 2: HOUR 3: DAY 4: WEEK 5: MONTH 6: YEAR 適用対象: Azure SQL Edge "のみ" |
data_retention_period_unit_desc |
nvarchar(10) | データ保持期間単位の種類のテキストの説明。INFINITE SECOND MINUTE HOUR DAY WEEK MONTH YEAR 適用対象: Azure SQL Edge "のみ" |
ledger_type |
tinyint | テーブルが台帳テーブルであるかどうかを示す数値。 0 = NON_LEDGER_TABLE 1 = HISTORY_TABLE (更新可能な台帳テーブルに関連付けられている)2 = UPDATABLE_LEDGER_TABLE 3 = APPEND_ONLY_LEDGER_TABLE データベース台帳の詳細については、台帳に関する記事を参照してください。 適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database |
ledger_type_desc |
nvarchar(60) | 列内の値のテキストの ledger_type 説明:NON_LEDGER_TABLE HISTORY_TABLE UPDATABLE_LEDGER_TABLE APPEND_ONLY_LEDGER_TABLE 適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database |
ledger_view_id |
int | 台帳ビューのobject_id 戻り値を返す場合ledger_type IN (2, 3) は、それ以外の場合は NULL .適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database |
is_dropped_ledger_table |
bit | 削除された台帳テーブルを示します。 適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database |
アクセス許可
カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。
例
A. 主キーを使用せずにすべてのユーザー テーブルを返す
次の例は、主キーを含まないすべてのユーザー テーブルを返します。
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
B. テンポラル データ関連テーブルを一覧表示する
次の例は、関連するテンポラル データを公開する方法を示しています。
適用対象: SQL Server 2016 (13.x) 以降のバージョンと Azure SQL Database。
SELECT T1.object_id,
T1.name AS TemporalTableName,
SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T2.name AS HistoryTableName,
SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema,
T1.temporal_type_desc
FROM sys.tables T1
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id
ORDER BY T1.temporal_type DESC;
C: 一時的な履歴の保持に関する情報を一覧表示する
次の例は、テンポラル履歴の保有に関する情報を公開する方法を示しています。
適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database
SELECT DB.is_temporal_history_retention_enabled,
SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T1.name AS TemporalTableName,
SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema,
T2.name AS HistoryTableName,
T1.history_retention_period,
T1.history_retention_period_unit_desc
FROM sys.tables T1
OUTER APPLY (
SELECT is_temporal_history_retention_enabled
FROM sys.databases
WHERE name = DB_NAME()
) DB
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id
WHERE T1.temporal_type = 2;
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示