sys.objects (Transact-SQL)sys.objects (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Содержит по одной строке для каждого определяемого пользователем объекта области схемы, который создается в базе данных, включая скомпилированную в собственном виде скалярную определяемую пользователем функцию.Contains a row for each user-defined, schema-scoped object that is created within a database, including natively compiled scalar user-defined function.

Дополнительные сведения см. в разделе Скалярные определяемые пользователем функции для выполняющейся в памяти OLTP.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Примечание

Представление sys.objects не показывает триггеры DDL, так как они не принадлежат области схемы.sys.objects does not show DDL triggers, because they are not schema-scoped. Все триггеры, DML и DDL, находятся в представлении sys. triggers.All triggers, both DML and DDL, are found in sys.triggers. sys. triggers поддерживает смесь правил области имен для различных типов триггеров.sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

Имя столбцаColumn name Тип данныхData type DescriptionDescription
namename имеет sysnamesysname Имя объекта.Object name.
object_idobject_id intint Идентификационный номер объекта.Object identification number. Уникален в базе данных.Is unique within a database.
principal_idprincipal_id intint Идентификатор отдельного владельца, если он отличается от владельца схемы.ID of the individual owner, if different from the schema owner. По умолчанию содержащиеся в схеме объекты принадлежат владельцу схемы.By default, schema-contained objects are owned by the schema owner. Однако с помощью инструкции ALTER AUTHORIZATION можно изменить право собственности и указать другого владельца.However, an alternate owner can be specified by using the ALTER AUTHORIZATION statement to change ownership.

Принимает значение NULL, если нет альтернативного отдельного владельца.Is NULL if there is no alternate individual owner.

Имеет значение NULL, если типом объекта является один из следующих:Is NULL if the object type is one of the following:

C = ограничение CHECKC = CHECK constraint

D = значение по умолчанию (DEFAULT), в ограничении или независимо заданноеD = DEFAULT (constraint or stand-alone)

F = ограничение FOREIGN KEYF = FOREIGN KEY constraint

PK = ограничение PRIMARY KEYPK = PRIMARY KEY constraint

R = правило (старый стиль, изолированный)R = Rule (old-style, stand-alone)

TA = триггер сборки (интеграция со средой CLR)TA = Assembly (CLR-integration) trigger

TR = триггер SQLTR = SQL trigger

UQ = ограничение UNIQUEUQ = UNIQUE constraint

EC = ограничение ребраEC = Edge constraint
schema_idschema_id intint Идентификатор схемы, в которой содержится объект.ID of the schema that the object is contained in.

Системные объекты области схемы всегда содержатся в схемах sys или INFORMATION_SCHEMA.Schema-scoped system objects are always contained in the sys or INFORMATION_SCHEMA schemas.
parent_object_idparent_object_id intint Идентификатор объекта, которому принадлежит данный объект.ID of the object to which this object belongs.

0 = не дочерний объект0 = Not a child object.
typetype char (2)char(2) Тип объекта:Object type:

AF = агрегатная функция (среда CLR)AF = Aggregate function (CLR)

C = ограничение CHECKC = CHECK constraint

D = значение по умолчанию (DEFAULT), в ограничении или независимо заданноеD = DEFAULT (constraint or stand-alone)

F = ограничение FOREIGN KEYF = FOREIGN KEY constraint

FN = скалярная функция SQLFN = SQL scalar function

FS = скалярная функция сборки (среда CLR)FS = Assembly (CLR) scalar-function

FT = функция сборки (среда CLR) с табличным значениемFT = Assembly (CLR) table-valued function

IF = встроенная функция SQL с табличным значениемIF = SQL inline table-valued function

IT = внутренняя таблицаIT = Internal table

P = хранимая процедура SQLP = SQL Stored Procedure

PC = хранимая процедура сборки (среда CLR)PC = Assembly (CLR) stored-procedure

PG = структура планаPG = Plan guide

PK = ограничение PRIMARY KEYPK = PRIMARY KEY constraint

R = правило (старый стиль, изолированный)R = Rule (old-style, stand-alone)

RF = процедура фильтра репликацииRF = Replication-filter-procedure

S = системная базовая таблицаS = System base table

SN = синонимSN = Synonym

SO = объект последовательностиSO = Sequence object

U = таблица (пользовательская)U = Table (user-defined)

V = представлениеV = View

EC = ограничение ребраEC = Edge constraint



Область применения: SQL Server 2012 (11.x)SQL Server 2012 (11.x) и более поздних версий.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.



SQ = очередь обслуживанияSQ = Service queue

TA = триггер DML сборки (среда CLR)TA = Assembly (CLR) DML trigger

TF = возвращающая табличное значение функция SQLTF = SQL table-valued-function

TR = триггер DML SQLTR = SQL DML trigger

TT = табличный типTT = Table type

UQ = ограничение UNIQUEUQ = UNIQUE constraint

X = расширенная хранимая процедураX = Extended stored procedure



Применимо к SQL Server 2016 (13.x);SQL Server 2016 (13.x) : и более База данных SQL AzureAzure SQL Databaseпоздним версиям,, Azure Synapse Analytics (хранилище данных SQL)Azure Synapse Analytics (SQL DW), Параллельное хранилище данныхParallel Data Warehouse.Applies to: SQL Server 2016 (13.x);SQL Server 2016 (13.x) and later, База данных SQL AzureAzure SQL Database, Azure Synapse Analytics (хранилище данных SQL)Azure Synapse Analytics (SQL DW), Параллельное хранилище данныхParallel Data Warehouse.



ET = внешняя таблицаET = External Table
type_desctype_desc nvarchar (60)nvarchar(60) Описание типа объекта:Description of the object type:

AGGREGATE_FUNCTIONAGGREGATE_FUNCTION

CHECK_CONSTRAINTCHECK_CONSTRAINT

CLR_SCALAR_FUNCTIONCLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURECLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTIONCLR_TABLE_VALUED_FUNCTION

CLR_TRIGGERCLR_TRIGGER

DEFAULT_CONSTRAINTDEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDUREEXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINTFOREIGN_KEY_CONSTRAINT

INTERNAL_TABLEINTERNAL_TABLE

PLAN_GUIDEPLAN_GUIDE

PRIMARY_KEY_CONSTRAINTPRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDUREREPLICATION_FILTER_PROCEDURE

RULERULE

SEQUENCE_OBJECTSEQUENCE_OBJECT



Область применения: SQL Server 2012 (11.x)SQL Server 2012 (11.x) и более поздних версий.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.



SERVICE_QUEUESERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTIONSQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTIONSQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURESQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTIONSQL_TABLE_VALUED_FUNCTION

SQL_TRIGGERSQL_TRIGGER

SYNONYMSYNONYM

SYSTEM_TABLESYSTEM_TABLE

TABLE_TYPETABLE_TYPE

UNIQUE_CONSTRAINTUNIQUE_CONSTRAINT

USER_TABLEUSER_TABLE

VIEWVIEW
create_datecreate_date datetimedatetime Дата создания объекта.Date the object was created.
modify_datemodify_date datetimedatetime Дата последнего изменения объекта с помощью инструкции ALTER.Date the object was last modified by using an ALTER statement. Если объект является таблицей или представлением, то столбец modify_date также изменяется при создании или изменении кластеризованного индекса таблицы или представления.If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.
is_ms_shippedis_ms_shipped bitbit Объект создан внутренним компонентом SQL ServerSQL Server.Object is created by an internal SQL ServerSQL Server component.
is_publishedis_published bitbit Объект опубликован.Object is published.
is_schema_publishedis_schema_published bitbit Опубликована только схема объекта.Only the schema of the object is published.

RemarksRemarks

К объектам, отображаемым в представлении sys. Objects, можно применить встроенные функции object_id, object_nameи OBJECTPROPERTY().You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

Существует версия этого представления с той же схемой, называемая sys. system_objects, которая показывает системные объекты.There is a version of this view with the same schema, called sys.system_objects, that shows system objects. Существует другое представление sys. all_objects , которое показывает как системные, так и пользовательские объекты.There is another view called sys.all_objects that shows both system and user objects. Все три представления каталогов имеют одну и ту же структуру.All three catalog views have the same structure.

В этой версии SQL ServerSQL Server расширенный индекс, такой как XML-индекс или пространственный индекс, считается внутренней таблицей в sys.objects (type = IT, а type_desc = INTERNAL_TABLE).In this version of SQL ServerSQL Server, an extended index, such as an XML index or spatial index, is considered an internal table in sys.objects (type = IT and type_desc = INTERNAL_TABLE). Для расширенного индекса:For an extended index:

  • name — это внутреннее имя таблицы индексов;name is the internal name of the index table.

  • parent_object_id — это object_id базовой таблицы;parent_object_id is the object_id of the base table.

  • столбцы is_ms_shipped, is_published и is_schema_published установлены в 0.is_ms_shipped, is_published and is_schema_published columns are set to 0.

Связанные полезные системные представленияRelated useful system views
Подмножества объектов можно просмотреть с помощью системных представлений для определенного типа объекта, например:Subsets of the objects can be viewed by using system views for a specific type of object, such as:

РазрешенияPermissions

Видимость метаданных в представлениях каталогов ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission.Дополнительные сведения см. в разделе Настройка видимости метаданных.For more information, see Metadata Visibility Configuration.

ПримерыExamples

A.A. Возвращаются все объекты, измененные в течение последних N днейReturning all the objects that have been modified in the last N days

Перед запуском следующего запроса замените <database_name> и <n_days> действительными значениями.Before you run the following query, replace <database_name> and <n_days> with valid values.

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. Возвращаются параметры для указанной хранимой процедуры или функцииReturning the parameters for a specified stored procedure or function

Перед запуском следующего запроса замените <database_name> и <schema_name.object_name> действительными именами.Before you run the following query, replace <database_name> and <schema_name.object_name> with valid names.

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  

В.C. Возвращаются все определяемые пользователем функции в базе данныхReturning all the user-defined functions in a database

Перед запуском следующего запроса замените <database_name> действительным именем базы данных.Before you run the following query, replace <database_name> with a valid 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. Возвращается владелец каждого объекта в схемеReturning the owner of each object in a schema.

Перед запуском следующего запроса замените все экземпляры <database_name> и <schema_name> действительными именами.Before you run the following query, replace all occurrences of <database_name> and <schema_name> with valid names.

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 JOIN sys.schemas AS s  
    ON s.schema_id = xsc.schema_id  
WHERE s.name = '<schema_name>';  
GO  

См. также:See Also

Представления каталога (Transact-SQL) Catalog Views (Transact-SQL)
sys. all_objects (Transact-SQL) sys.all_objects (Transact-SQL)
sys. system_objects (Transact-SQL) sys.system_objects (Transact-SQL)
sys. triggers ()Transact-SQL sys.triggers (Transact-SQL)
Представления каталога объектов ()Transact-SQL Object Catalog Views (Transact-SQL)
Запросы к системному каталогу SQL Server вопросы и ответы Querying the SQL Server System Catalog FAQ
sys. internal_tables (Transact-SQL)sys.internal_tables (Transact-SQL)