Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
Innehåller en rad för varje användardefinierat, schema-scoped objekt som skapas i en databas, inklusive inbyggt kompilerade skalär användardefinierade funktioner.
Mer information finns i Skalär User-Defined Functions för In-Memory OLTP.
Note
sys.objects visar inte DDL-triggers, eftersom de inte är schema-scoped. Alla triggers, både DML och DDL, finns i sys.triggers.
sys.triggers stöder en blandning av namnbegränsningsregler för olika typer av triggers.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
name |
sysname | Objektnamn. |
object_id |
int | Objektidentifieringsnummer. Är unik i en databas. |
principal_id |
int | ID för den enskilda ägaren, om det skiljer sig från schemats ägare. Som standard ägs schemainnehållna objekt av schemaägaren. Dock kan en alternativ ägare anges genom att använda uttalandet ALTER AUTHORIZATION för att byta ägare.NULL Om det inte finns någon alternativ individuell ägare.Är NULL om objekttypen är ett av följande värden:C = KontrollbegränsningD = Standard (begränsning eller fristående)F = Främmande nyckelbegränsningPK = PrimärnyckelbegränsningR = Regel (gammaldags stil, fristående)TA = Monterings- (CLR-integrations) triggerTR = SQL-triggerUQ = Unik begränsningEC = Kantbegränsning |
schema_id |
int | ID för schemat som objektet ingår i. Schema-scoped systemobjekt finns alltid i systemet eller INFORMATION_SCHEMA scheman. |
parent_object_id |
int | ID för objektet som detta objekt tillhör.0 = Inte ett barnobjekt. |
type |
char(2) | Objekttyp:AF = Aggregerad funktion (CLR)C = KontrollbegränsningD = Standard (begränsning eller fristående)F = Främmande nyckelbegränsningFN = SQL-skalärfunktionFS = Assembly (CLR) skalärfunktionFT = Assembly (CLR) tabellvärdesfunktionIF = SQL inline tabellvärdesfunktion (TVF)IT = Intern tabellP = SQL-lagrad procedurPC = Assembly (CLR) lagrad procedurPG = PlanguidePK = PrimärnyckelbegränsningR = Regel (gammaldags stil, fristående)RF = Replikationsfilter-procedurS = SystembastabellSN = SynonymSO = SekvensobjektU = Tabell (användardefinierad)V = VyApplies to: SQL Server 2012 (11.x) och senare versioner SQ = TjänsteköTA = Assembly (CLR) DML-triggerTF = SQL tabellvärd-funktion (TVF)TR = SQL DML-triggerTT = TabelltypUQ = unik begränsningX = Utökad lagrad procedurGäller för: SQL Server 2014 (12.x) och senare versioner, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) ST = StatistikträdGäller för: SQL Server 2016 (13.x) och senare versioner, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) ET = Extern tabellGäller för: SQL Server 2017 (14.x) och senare versioner, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) EC = Kantbegränsning |
type_desc |
nvarchar(60) | Beskrivning av objekttypen: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 | Datum då objektet skapades. |
modify_date |
datetime | Datum då objektet senast modifierades genom att använda ett ALTER uttalande. Om objektet är en tabell eller en vy ändras modify_date också när ett index i tabellen eller vyn skapas eller ändras. |
is_ms_shipped |
bit | Objekt skapas av en intern SQL Server-komponent. |
is_published |
bit | Objektet publiceras. |
is_schema_published |
bit | Endast schemat för objektet publiceras. |
Remarks
Du kan tillämpa funktionerna OBJECT_ID,OBJECT_NAME och OBJECTPROPERTY på objekten som visas i sys.objects.
Det finns en version av denna vy med samma schema, kallad sys.system_objects, som visar systemobjekt. En annan vy, kallad sys.all_objects, visar både system- och användarobjekt. Alla tre katalogvyer har samma struktur.
I denna version av SQL Server betraktas ett utökat index, såsom ett XML-index eller rumsligt index, som en intern tabell i sys.objects (type är IT, och type_desc är INTERNAL_TABLE). För ett utökat index:
-
nameär det interna namnet på indextabellen -
parent_object_idär bastabellenobject_id -
is_ms_shipped,is_published, ochis_schema_publishedkolumnerna sätts till0
Relaterade systemvyer
Delmängder av objekten kan ses genom att använda systemvyer för en specifik typ av objekt, såsom:
Permissions
Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. För mer information, se inställningar för metadatasynlighet.
Examples
A. Lämna tillbaka alla objekt som modifierats under de senaste N dagarna
Innan du kör följande fråga, ersätt <database_name> och <n_days> med giltiga värden.
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. Returnera parametrarna för en specificerad lagrad procureur eller funktion
Innan du kör följande fråga, ersätt <database_name> och <schema_name.object_name> med giltiga namn.
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. Returnera alla användardefinierade funktioner i en databas
Innan du kör följande fråga, ersätt <database_name> med ett giltigt databasnamn.
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. Returnera ägaren av varje objekt i ett schema
Innan du kör följande fråga, ersätt alla förekomster av <database_name> och <schema_name> med giltiga namn.
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