Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
конечной точке аналитики платформы Аналитики Azure Synapse Analytics
(PDW)
в Microsoft Fabric
Хранилище в Microsoft Fabric
Содержит строку для каждого определяемого пользователем объекта с областью действия схемы, созданного в базе данных, включая собственные скомпилированные скалярные пользовательские функции.
Дополнительные сведения см. в разделе Скалярные определяемые пользователем функции для выполняющейся в памяти OLTP.
Примечание.
sys.objects не отображает триггеры DDL, так как они не являются областью действия схемы. Все триггеры, как DML, так и DDL, находятся в sys.triggers. sys.triggers поддерживает сочетание правил области имен для различных типов триггеров.
| Имя столбца | Тип данных | Description |
|---|---|---|
name |
sysname | Имя объекта. |
object_id |
int | Идентификационный номер объекта. Уникален в базе данных. |
principal_id |
int | Идентификатор отдельного владельца, если он отличается от владельца схемы. По умолчанию содержащиеся в схеме объекты принадлежат владельцу схемы. Однако альтернативный владелец можно указать с помощью инструкции ALTER AUTHORIZATION для изменения владения.NULL Если альтернативного владельца нет.Если NULL тип объекта является одним из следующих значений:C = проверка ограниченияD = по умолчанию (ограничение или автономное)F = ограничение внешнего ключаPK = ограничение первичного ключаR = правило (старый стиль, автономный)TA = триггер сборки (интеграция CLR-integration)TR = триггер SQLUQ = уникальное ограничениеEC = ограничение edge |
schema_id |
int | Идентификатор схемы, в которой содержится объект. Системные объекты с областью схемы всегда содержатся в системе или INFORMATION_SCHEMA схемах. |
parent_object_id |
int | Идентификатор объекта, которому принадлежит данный объект.0 = не дочерний объект. |
type |
char(2) | Тип объекта:AF = агрегатная функция (CLR)C = проверка ограниченияD = по умолчанию (ограничение или автономное)F = ограничение внешнего ключаFN = скалярная функция SQLFS = скалярная функция сборки (CLR)FT = табличное значение функции сборки (CLR)IF = встроенная табличная функция SQL (TVF)IT = внутренняя таблицаP = хранимая процедура SQLPC = хранимая процедура сборки (CLR)PG = руководство по планированиюPK = ограничение первичного ключаR = правило (старый стиль, автономный)RF = процедура replication-filter-procedureS = системная базовая таблицаSN = синонимSO = объект SequenceU = таблица (определяемая пользователем)V = представлениеОбласть применения: SQL Server 2012 (11.x) и более поздних версий SQ = очередь службTA = триггер DML сборки (CLR)TF = табличная функция SQL (TVF)TR = триггер DML SQLTT = тип таблицыUQ = уникальное ограничениеX = расширенная хранимая процедураОбласть применения: SQL Server 2014 (12.x) и более поздних версий, База данных SQL Azure, Azure Synapse Analytics, Analytics Platform System (PDW) ST = дерево статистикиОбласть применения: SQL Server 2016 (13.x) и более поздних версий, База данных SQL Azure, Azure Synapse Analytics, Analytics Platform System (PDW) ET = внешняя таблицаОбласть применения: SQL Server 2017 (14.x) и более поздних версий, База данных SQL Azure, Azure Synapse Analytics, Analytics Platform System (PDW) EC = ограничение edge |
type_desc |
nvarchar(60) | Описание типа объекта:AGGREGATE_FUNCTIONCHECK_CONSTRAINTCLR_SCALAR_FUNCTIONCLR_STORED_PROCEDURECLR_TABLE_VALUED_FUNCTIONCLR_TRIGGERDEFAULT_CONSTRAINTEDGE_CONSTRAINTEXTENDED_STORED_PROCEDUREFOREIGN_KEY_CONSTRAINTINTERNAL_TABLEPLAN_GUIDEPRIMARY_KEY_CONSTRAINTREPLICATION_FILTER_PROCEDURERULESEQUENCE_OBJECTSERVICE_QUEUESQL_INLINE_TABLE_VALUED_FUNCTIONSQL_SCALAR_FUNCTIONSQL_STORED_PROCEDURESQL_TABLE_VALUED_FUNCTIONSQL_TRIGGERSYNONYMSYSTEM_TABLETYPE_TABLEUNIQUE_CONSTRAINTUSER_TABLEVIEW |
create_date |
datetime | Дата создания объекта. |
modify_date |
datetime | Дата последнего изменения объекта с помощью инструкции ALTER . Если объект является таблицей или представлением, modify_date также изменяется при создании или изменении индекса в таблице или представлении. |
is_ms_shipped |
bit | Объект создается внутренним компонентом SQL Server. |
is_published |
bit | Объект опубликован. |
is_schema_published |
bit | Опубликована только схема объекта. |
Замечания
Встроенные функции OBJECT_ID, OBJECT_NAME и OBJECTPROPERTY можно применить к объектам, показанным в sys.objects.
Существует версия этого представления с той же схемой, которая называется sys.system_objects, которая показывает системные объекты. Другое представление, называемое sys.all_objects, показывает как системные, так и пользовательские объекты. Все три представления каталогов имеют одну и ту же структуру.
В этой версии SQL Server расширенный индекс, например XML-индекс или пространственный индекс, считается внутренней таблицей (sys.objectstypeи ITимеет значение INTERNAL_TABLE).type_desc Для расширенного индекса:
name— внутреннее имя таблицы индексаparent_object_idobject_idявляется базовой таблицейis_ms_shipped,is_publishedиis_schema_publishedстолбцы имеют значение. 0
Связанные системные представления
Подмножества объектов можно просматривать с помощью системных представлений для определенного типа объекта, например:
Разрешения
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры
А. Возврат всех объектов, измененных за последние N дней
Перед запуском следующего запроса замените <database_name> и <n_days> действительными значениями.
USE <database_name>;
GO
SELECT name AS object_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE modify_date > GETDATE() - <n_days>
ORDER BY modify_date;
GO
B. Возврат параметров для указанной хранимой процедуры или функции
Перед запуском следующего запроса замените <database_name> и <schema_name.object_name> действительными именами.
USE <database_name>;
GO
SELECT SCHEMA_NAME(schema_id) AS schema_name,
o.name AS object_name,
o.type_desc,
p.parameter_id,
p.name AS parameter_name,
TYPE_NAME(p.user_type_id) AS parameter_type,
p.max_length,
p.precision,
p.scale,
p.is_output
FROM sys.objects AS o
INNER JOIN sys.parameters AS p
ON o.object_id = p.object_id
WHERE o.object_id = OBJECT_ID('<schema_name.object_name>')
ORDER BY schema_name,
object_name,
p.parameter_id;
GO
В. Возврат всех пользовательских функций в базе данных
Перед запуском следующего запроса замените <database_name> действительным именем базы данных.
USE <database_name>;
GO
SELECT name AS function_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE type_desc LIKE '%FUNCTION%';
GO
D. Возврат владельца каждого объекта в схеме
Перед запуском следующего запроса замените все экземпляры <database_name> и <schema_name> действительными именами.
USE <database_name>;
GO
SELECT 'OBJECT' AS entity_type,
USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name,
name
FROM sys.objects
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'TYPE' AS entity_type,
USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name,
name
FROM sys.types
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'XML SCHEMA COLLECTION' AS entity_type,
COALESCE(USER_NAME(xsc.principal_id), USER_NAME(s.principal_id)) AS owner_name,
xsc.name
FROM sys.xml_schema_collections AS xsc
INNER JOIN sys.schemas AS s
ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO