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

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

ネイティブコンパイルのスカラーユーザー定義関数を含む、データベース内に作成される、ユーザー定義のスキーマスコープオブジェクトごとに1行のデータを格納します。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. オブジェクトはスキーマスコープではないため、DDL トリガーを表示しません。sys.objects does not show DDL triggers, because they are not schema-scoped. DML と DDL の両方のトリガーが、 sys. トリガーにあります。All triggers, both DML and DDL, are found in sys.triggers. システムトリガーでは、さまざまな種類のトリガーに対して名前スコープルールの組み合わせがサポートされています。sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

列名Column name データ型Data type [説明]Description
namename sysnamesysname オブジェクト名です。Object name.
object_idobject_id intint オブジェクト ID 番号。Object identification number. データベース内で一意です。Is unique within a database.
principal_idprincipal_id intint 個々の所有者の ID (スキーマの所有者と異なる場合)。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 = CHECK 制約C = CHECK constraint

D = DEFAULT (制約またはスタンドアロン)D = DEFAULT (constraint or stand-alone)

F = FOREIGN KEY 制約F = FOREIGN KEY constraint

PK = PRIMARY KEY 制約PK = PRIMARY KEY constraint

R = Rule (旧形式、スタンドアロン)R = Rule (old-style, stand-alone)

TA = アセンブリ (CLR 統合) トリガーTA = Assembly (CLR-integration) trigger

TR = SQL トリガーTR = SQL trigger

UQ = UNIQUE 制約UQ = UNIQUE constraint

EC = エッジ制約EC = Edge constraint
schema_idschema_id intint オブジェクトが含まれているスキーマの ID。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 です。ID of the object to which this object belongs.

0 = 子オブジェクトではありません。0 = Not a child object.
type char(2)char(2) オブジェクトの種類:Object type:

AF = 集計関数 (CLR)AF = Aggregate function (CLR)

C = CHECK 制約C = CHECK constraint

D = DEFAULT (制約またはスタンドアロン)D = DEFAULT (constraint or stand-alone)

F = FOREIGN KEY 制約F = FOREIGN KEY constraint

FN = SQL スカラー関数FN = 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 = Internal table

P = SQL ストアドプロシージャP = SQL Stored Procedure

PC = アセンブリ (CLR) ストアドプロシージャPC = Assembly (CLR) stored-procedure

PG = プランガイドPG = Plan guide

PK = PRIMARY KEY 制約PK = PRIMARY KEY constraint

R = Rule (旧形式、スタンドアロン)R = Rule (old-style, stand-alone)

RF = レプリケーション-フィルター-プロシージャRF = Replication-filter-procedure

S = システム ベース テーブルS = System base table

SN = シノニムSN = Synonym

SO = Sequence オブジェクト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 = アセンブリ (CLR) DML トリガーTA = Assembly (CLR) DML trigger

TF = SQL テーブル値関数TF = SQL table-valued-function

TR = SQL DML トリガーTR = SQL DML trigger

TT = テーブル型TT = Table type

UQ = UNIQUE 制約UQ = UNIQUE constraint

X = 拡張ストアドプロシージャX = Extended stored procedure



適用対象: SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降、Azure SQL データベースAzure SQL DatabaseAzure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW)Parallel Data WarehouseParallel Data WarehouseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, Azure SQL データベースAzure SQL Database, Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW), Parallel Data WarehouseParallel 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

OBJECT_IDOBJECT_NAME、およびobjectproperty() 組み込み関数を、sys. オブジェクトに表示されるオブジェクトに適用できます。You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

このビューのバージョンには、システムオブジェクトを表示する、 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. 3つのすべてのカタログビューの構造は同じです。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 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. 詳細については、「 Metadata Visibility Configuration」をご覧ください。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.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.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.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)
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
internal_tables (transact-sql)sys.internal_tables (Transact-SQL)