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

適用対象: ○SQL Server (2008 以降)○Azure SQL Database○Azure SQL Data Warehouse ○Parallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse 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.

詳細については、次を参照してください。 scalar user-defined 関数は、インメモリ OLTPです。For more information, see Scalar User-Defined Functions for In-Memory OLTP.

注意

DDL トリガーはスキーマ スコープでないため、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 説明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 = ルール (旧形式、スタンドアロン)R = Rule (old-style, stand-alone)

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

TR = SQL トリガーTR = SQL trigger

UQ = UNIQUE 制約UQ = UNIQUE 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 = 内部テーブル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 = ルール (旧形式、スタンドアロン)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



適用対象: SQL Server 2012SQL Server 2012 から SQL Server 2017SQL Server 2017Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.



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 2016SQL Server 2016を通じて SQL Server 2017SQL Server 2017Azure SQL データベースAzure SQL DatabaseAzure SQL データ ウェアハウスAzure SQL Data WarehouseParallel Data WarehouseParallel Data Warehouseです。Applies to: SQL Server 2016SQL Server 2016 through SQL Server 2017SQL Server 2017, Azure SQL データベースAzure SQL Database, Azure SQL データ ウェアハウスAzure SQL Data Warehouse, 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 2012SQL Server 2012 から SQL Server 2017SQL Server 2017Applies to: SQL Server 2012SQL Server 2012 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 オブジェクトが作成された日付です。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.

解説Remarks

適用することができます、 OBJECT_IDOBJECT_NAME、およびOBJECTPROPERTYsys.objects に表示されるオブジェクトへの () 組み込み関数。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. 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 はインデックス テーブルの内部名です。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:

PermissionsPermissions

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。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)
sys.all_objects (です。TRANSACT-SQL と #41 です。 sys.all_objects (Transact-SQL)
sys.system_objects (です。TRANSACT-SQL と #41 です。 sys.system_objects (Transact-SQL)
sys.triggers (Transact-SQL) sys.triggers (Transact-SQL)
オブジェクト カタログ ビュー (です。TRANSACT-SQL と #41 です。 Object Catalog Views (Transact-SQL)
SQL Server のシステム カタログよく寄せられる質問のクエリを実行します。 Querying the SQL Server System Catalog FAQ
sys.internal_tables (です。TRANSACT-SQL と #41 です。sys.internal_tables (Transact-SQL)