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

SI APPLICA A: sìSQL Server sìDatabase SQL di Azure sìAzure SQL Data Warehouse sìParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Contiene una riga per ogni oggetto definito dall'utente, con ambito schema che viene creato all'interno di un database, compresa la funzione definita dall'utente scalari compilate in modo nativo.Contains a row for each user-defined, schema-scoped object that is created within a database, including natively compiled scalar user-defined function.

Per altre informazioni, vedere Funzioni scalari definite dall'utente per OLTP in memoria.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Nota

sys.objects non visualizza trigger DDL. Questi oggetti, infatti, non sono definiti a livello di ambito di schema.sys.objects does not show DDL triggers, because they are not schema-scoped. Tutti i trigger, sia DML sia DDL, sono disponibili in Sys. Triggers.All triggers, both DML and DDL, are found in sys.triggers. Sys. Triggers supporta una combinazione di nome dell'ambito delle regole per i diversi tipi di trigger.sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

Nome colonnaColumn name Tipo di datiData type DescrizioneDescription
namename sysnamesysname Nome dell'oggetto.Object name.
object_idobject_id intint Numero di identificazione dell'oggetto.Object identification number. Valore univoco all'interno di un database.Is unique within a database.
principal_idprincipal_id intint ID del singolo proprietario, se diverso dal proprietario dello schema.ID of the individual owner, if different from the schema owner. Per impostazione predefinita, gli oggetti contenuti nello schema appartengono al proprietario dello schema stesso.By default, schema-contained objects are owned by the schema owner. È tuttavia possibile specificare un altro proprietario modificando la proprietà mediante l'istruzione ALTER AUTHORIZATION.However, an alternate owner can be specified by using the ALTER AUTHORIZATION statement to change ownership.

È NULL se non esiste un singolo proprietario alternativo.Is NULL if there is no alternate individual owner.

È NULL se il tipo di oggetto è uno dei seguenti:Is NULL if the object type is one of the following:

C = vincolo CHECKC = CHECK constraint

D = DEFAULT (vincolo o valore autonomo)D = DEFAULT (constraint or stand-alone)

F = vincolo FOREIGN KEYF = FOREIGN KEY constraint

PK = vincolo PRIMARY KEYPK = PRIMARY KEY constraint

R = regola (tipo obsoleto, autonoma)R = Rule (old-style, stand-alone)

TA = trigger di assembly (integrazione con CLR)TA = Assembly (CLR-integration) trigger

TR = trigger SQLTR = SQL trigger

UQ = vincolo UNIQUEUQ = UNIQUE constraint

EC = vincolo di arcoEC = Edge constraint
schema_idschema_id intint ID dello schema che contiene l'oggetto.ID of the schema that the object is contained in.

Gli oggetti di sistema con ambito costituito dallo schema sono sempre inclusi negli schemi sys o INFORMATION_SCHEMA.Schema-scoped system objects are always contained in the sys or INFORMATION_SCHEMA schemas.
parent_object_idparent_object_id intint ID dell'oggetto a cui appartiene l'oggetto.ID of the object to which this object belongs.

0 = non è un oggetto figlio.0 = Not a child object.
typetype char(2)char(2) Tipo di oggetto:Object type:

AF = funzione di aggregazione (CLR)AF = Aggregate function (CLR)

C = vincolo CHECKC = CHECK constraint

D = DEFAULT (vincolo o valore autonomo)D = DEFAULT (constraint or stand-alone)

F = vincolo FOREIGN KEYF = FOREIGN KEY constraint

FN = funzione scalare SQLFN = SQL scalar function

FS = funzione scalare di assembly (CLR)FS = Assembly (CLR) scalar-function

FT = funzione valutata a livello di tabella assembly (CLR)FT = Assembly (CLR) table-valued function

IF = funzione SQL inline valutata a livello di tabellaIF = SQL inline table-valued function

IT = tabella internaIT = Internal table

P = stored procedure SQLP = SQL Stored Procedure

PC = stored procedure di assembly (CLR)PC = Assembly (CLR) stored-procedure

PG = guida di pianoPG = Plan guide

PK = vincolo PRIMARY KEYPK = PRIMARY KEY constraint

R = regola (tipo obsoleto, autonoma)R = Rule (old-style, stand-alone)

RF = procedura-filtro-replicaRF = Replication-filter-procedure

S = tabella di base di sistemaS = System base table

SN = sinonimoSN = Synonym

SO = oggetto sequenzaSO = Sequence object

U = tabella (definita dall'utente)U = Table (user-defined)

V = vistaV = View

EC = vincolo di arcoEC = Edge constraint



Si applica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) tramite SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.



SQ = coda di servizioSQ = Service queue

TA = trigger DML assembly (CLR)TA = Assembly (CLR) DML trigger

TF = funzione valutata a livello di tabella SQLTF = SQL table-valued-function

TR = trigger DML SQLTR = SQL DML trigger

TT = tipo tabellaTT = Table type

UQ = vincolo UNIQUEUQ = UNIQUE constraint

X = stored procedure estesaX = Extended stored procedure



Si applica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) attraverso SQL Server 2017SQL Server 2017, Database SQL di AzureAzure SQL Database, Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQL di AzureAzure SQL Database, Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.



ET = tabella esternaET = External Table
type_desctype_desc nvarchar(60)nvarchar(60) Descrizione del tipo di oggetto: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



Si applica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) tramite SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.



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 Data di creazione dell'oggetto.Date the object was created.
modify_datemodify_date datetimedatetime Data dell'ultima modifica apportata all'oggetto mediante un'istruzione ALTER.Date the object was last modified by using an ALTER statement. Se l'oggetto è una tabella o una vista, modify_date viene modificata anche quando si crea o si modifica un indice cluster nella tabella o nella vista.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 Oggetto creato da un componente di SQL ServerSQL Server interno.Object is created by an internal SQL ServerSQL Server component.
is_publishedis_published bitbit L'oggetto viene pubblicato.Object is published.
is_schema_publishedis_schema_published bitbit Viene pubblicato solo lo schema dell'oggetto.Only the schema of the object is published.

NoteRemarks

È possibile applicare il OBJECT_ID, OBJECT_NAME, e OBJECTPROPERTYfunzioni predefinite () agli oggetti visualizzati in sys. Objects.You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

È disponibile una versione di questa visualizzazione con lo stesso schema, chiamato Sys. system_objects, che mostra gli oggetti di sistema.There is a version of this view with the same schema, called sys.system_objects, that shows system objects. È disponibile un'altra visualizzazione chiamata all_objects che mostra gli oggetti utente e di sistema.There is another view called sys.all_objects that shows both system and user objects. Le tre viste del catalogo hanno tutte la stessa struttura.All three catalog views have the same structure.

In questa versione di SQL ServerSQL Server un indice esteso, ad esempio un indice XML o un indice spaziale, è considerato una tabella interna in sys.objects (type = IT e 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). Per un indice esteso:For an extended index:

  • name è il nome interno della tabella dell'indice.name is the internal name of the index table.

  • parent_object_id corrisponde a object_id della tabella di base.parent_object_id is the object_id of the base table.

  • Le colonne is_ms_shipped, is_published e is_schema_published sono impostate su 0.is_ms_shipped, is_published and is_schema_published columns are set to 0.

Viste di sistema utili correlatiRelated useful system views
Subset di oggetti possono essere visualizzati utilizzando viste di sistema per un tipo specifico di oggetto, ad esempio:Subsets of the objects can be viewed by using system views for a specific type of object, such as:

PermissionsPermissions

La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni.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. Per altre informazioni, vedere Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

EsempiExamples

R.A. Restituzione di tutti gli oggetti modificati negli ultimi N giorniReturning all the objects that have been modified in the last N days

Prima di eseguire la query seguente, sostituire <database_name> e <n_days> con valori validi.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.B. Restituzione dei parametri per una stored procedure o una funzione specificaReturning the parameters for a specified stored procedure or function

Prima di eseguire la query seguente, sostituire <database_name> e <schema_name.object_name> con nomi validi.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.C. Restituzione di tutte le funzioni definite dall'utente in un databaseReturning all the user-defined functions in a database

Prima di eseguire la query seguente, sostituire <database_name> con un nome di database valido.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.D. Restituzione del proprietario di ogni oggetto in uno schema.Returning the owner of each object in a schema.

Prima di eseguire la query seguente, sostituire tutte le occorrenze di <database_name> e <schema_name> con nomi validi.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  

Vedere ancheSee Also

Viste del catalogo (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)
Viste del catalogo dell'oggetto (Transact-SQL) Object Catalog Views (Transact-SQL)
L'esecuzione di query nel catalogo di sistema SQL Server domande frequenti Querying the SQL Server System Catalog FAQ
sys.internal_tables (Transact-SQL)sys.internal_tables (Transact-SQL)