sys.tables (Transact-SQL)

Возвращает по одной строке для каждой пользовательской таблицы в SQL Server.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Имя столбца

Тип данных

Описание

<производные столбцы>

 

Список столбцов, которые наследует это представление, см. в разделе о 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. Будет сброшено в значение 0 после следующей успешной операции DBCC CHECKDB или DBCC CHECKTABLE.

text_in_row_limit

int

Максимальное число байтов, разрешенное для текста в строке.

0 = параметр текста в строке не установлен. Дополнительные сведения см. в разделе 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

In-Memory OLTP (оптимизация в памяти)