共用方式為


sys.tables (Transact-SQL)

針對 SQL Server 中的每個使用者資料表,各傳回一個資料列。

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

資料行名稱

資料類型

描述

<繼承的資料行>

 

如需這份檢視所繼承的資料行清單,請參閱<sys.objects (Transact-SQL)>。

lob_data_space_id

int

非零值是存放這份資料表的大型物件二進位 (LOB) 資料之資料空間 (檔案群組或分割區配置) 的識別碼。 LOB 資料類型的例子包括 varbinary(max)、varchar(max)、geography 或 xml。

0 = 資料表沒有 LOB 資料。

filestream_data_space_id

int

這是 FILESTREAM 檔案群組的資料空間識別碼,或是由 FILESTREAM 檔案群組所組成的分割區配置。

若要報告 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

這份資料表用過的最大資料行識別碼。

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 = 大數值類型是以 out-of-row 的方式來儲存。 如需詳細資訊,請參閱<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 至 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 系統目錄 FAQ

In-Memory OLTP (記憶體中最佳化)