sys.tables (Transact-SQL)

为 SQL Server 中的每个用户表返回一行。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

列名

数据类型

说明

<继承的列>

 

有关此视图所继承列的列表,请参阅 sys.objects (Transact-SQL)

lob_data_space_id

int

对于该表,非零值是存放二进制大型对象 (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 的详细信息,请参阅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 系统目录常见问题

内存中 OLTP(内存中优化)