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 联接到以下视图。
|
|
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)。
|
|
durability |
tinyint |
以下列出的是可能的值: 0 = SCHEMA_AND_DATA 1 = SCHEMA_ONLY 值 0 为默认值。
|
|
durability_desc |
nvarchar(60) |
下面是可能的值: SCHEMA_AND_DATA SCHEMA_ONLY SCHEMA_AND_DATA 的值指示表是持久内存中表。 SCHEMA_AND_DATA 是内存优化表的默认值。 SCHEMA_ONLY 的值指示,在重新启动包含内存优化对象的数据库后,表数据将不会持久化。
|
|
is_memory_optimized |
bit |
下面是可能的值: 0 = 非内存优化。 1 = 内存优化。 值 0 为默认值。 内存优化表是内存中的用户表,它的架构保留在磁盘上,与其他用户表类似。 内存优化表可从本机编译存储过程访问。
|
权限
目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。有关详细信息,请参阅元数据可见性配置。
示例
下面的示例返回没有主键的所有用户表。
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
请参阅
参考
DBCC CHECKTABLE (Transact-SQL)