Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Возвращает список объектов, к которым можно выполнять запросы в текущем окружении. Это означает применение любой таблицы или представления, кроме объектов-синонимов.
Примечание.
Чтобы определить имя базового объекта синонима, выполните запрос к представлению каталога sys.синонимов .
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server, База данных SQL Azure, Azure Synapse Analytics, система платформы аналитики (PDW):
sp_tables
[ [ @table_name = ] N'table_name' ]
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @table_type = ] 'table_type' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Аргументы
[ @table_name = ] N'table_name'
Таблица, используемая для возврата сведений о каталоге.
@table_name — nvarchar(384) с значением по умолчаниюNULL. Поиск совпадений по шаблону поддерживается.
[ @table_owner = ] N'table_owner'
Владелец таблицы, используемой для возврата сведений о каталоге.
@table_owner — nvarchar(384) с значением по умолчаниюNULL. Поиск совпадений по шаблону поддерживается. Если владелец не указан, применяются правила видимости таблицы по умолчанию для базовых СУБД.
В SQL Server, если текущий пользователь владеет таблицей с указанным именем, возвращаются столбцы этой таблицы. Если владелец не указан, а текущий пользователь не владеет таблицей с указанным именем, эта процедура ищет таблицу с указанным именем, принадлежащим владельцу базы данных. Если такая таблица существует, возвращаются ее столбцы.
[ @table_qualifier = ] N'table_qualifier'
Имя квалификатора таблицы.
@table_qualifier имеет имя sysname с значением по умолчаниюNULL. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (<qualifier>.<owner>.<name>). В SQL Server этот столбец представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица.
[ @table_type = ] 'table_type'
Список значений, разделенных запятыми, который содержит сведения обо всех таблицах указанных типов таблиц. Это операторы TABLE, SYSTEMTABLE, а также VIEW.
@table_type — varchar(100) с значением по умолчаниюNULL.
Каждый табличный тип должен быть заключен в одиночные кавычки, а весь параметр должен быть заключен в двойные кавычки. Типы таблиц должны указываться в верхнем регистре. Если SET QUOTED_IDENTIFIER есть ON, каждый одинарный кавычки должен быть двойным, и весь параметр должен быть заключен в одинарные кавычки.
[ @fUsePattern = ] fUsePattern
Определяет, интерпретируются ли символы подчеркивания (_), процента () и скобки (%[или]) как подстановочные знаки. Допустимые значения: 0 (сопоставление шаблонов отключено) и 1 (сопоставление шаблонов включено).
@fUsePattern бит с значением по умолчанию1.
Значения кода возврата
Нет.
Результирующий набор
| Имя столбца | Тип данных | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Имя квалификатора таблицы. В SQL Server этот столбец представляет имя базы данных. Это поле может быть NULL. |
TABLE_OWNER |
sysname | Имя владельца таблицы. В SQL Server этот столбец представляет имя пользователя базы данных, создавшего таблицу. Это поле всегда возвращает значение. |
TABLE_NAME |
sysname | Имя таблицы. Это поле всегда возвращает значение. |
TABLE_TYPE |
varchar(32) | Таблица, системная таблица или представление. |
REMARKS |
varchar(254) | SQL Server не возвращает значение для этого столбца. |
Замечания
Для максимальной совместимости клиент шлюза должен принимать только сопоставление шаблонов стандарта SQL-92 (символы-шаблоны «%» и «_»).
Сведения о доступе на чтение или запись текущего пользователя к определенной таблице не всегда проверяются. Поэтому доступ не гарантируется. Этот результирующий набор включает не только таблицы и представления, но и синонимы, и псевдонимы для шлюзов к СУБД, поддерживающим эти типы. Если атрибут ACCESSIBLE_TABLES сервера имеет значение Y в результирующем наборе sp_server_info, возвращаются только таблицы, к которым может получить доступ текущий пользователь.
sp_tables эквивалентен SQLTables в ODBC. Возвращаемые результаты упорядочены по TABLE_TYPE, TABLE_QUALIFIERи TABLE_OWNERTABLE_NAME.
Разрешения
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры
А. Возвращает список объектов, которые можно запрашивать в текущей среде.
Следующий пример возвращает список объектов, которые могут быть запросами в текущем окружении.
EXECUTE sp_tables;
B. Возврат сведений о таблицах в указанной схеме
Следующий пример возвращает информацию о таблицах, входящих Person в схему базы данных AdventureWorks2025.
USE AdventureWorks2022;
GO
EXECUTE sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks2022';
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В. Возвращает список объектов, которые можно запрашивать в текущей среде.
Следующий пример возвращает список объектов, которые могут быть запросами в текущем окружении.
EXECUTE sp_tables;
D. Возврат сведений о таблицах в указанной схеме
В следующем примере возвращаются сведения о таблицах измерений в AdventureWorksPDW2012 базе данных.
-- Uses AdventureWorks
EXECUTE sp_tables
@table_name = 'Dim%',
@table_owner = 'dbo',
@table_qualifier = 'AdventureWorksPDW2012';