ビューに関する情報の取得Get Information About a View

SQL Server 2014SQL Server 2014 のビューの定義またはプロパティに関する情報は、[SQL Server Management Studio]SQL Server Management Studio または Transact-SQLTransact-SQL を使用して取得できます。You can gain information about a view's definition or properties in SQL Server 2014SQL Server 2014 by using [SQL Server Management Studio]SQL Server Management Studio or Transact-SQLTransact-SQL. ビューのデータが元のテーブルからどのように抽出されているのかを理解したり、ビューで定義されているデータを確認するために、ビューの定義を調べたい場合があります。You may need to see the definition of the view to understand how its data is derived from the source tables or to see the data defined by the view.

重要

ビューから参照しているオブジェクトの名前を変更する場合は、ビューのテキストに新しいオブジェクト名が反映されるようにビューを変更する必要があります。If you change the name of an object referenced by a view, you must modify the view so that its text reflects the new name. オブジェクト名を変更する前には、まずオブジェクトの依存関係を表示して、その変更により影響を受けるビューがないかどうかを確認してください。Therefore, before renaming an object, display the dependencies of the object first to determine if any views are affected by the proposed change.

このトピックの内容In This Topic

はじめにBefore You Begin

セキュリティSecurity

PermissionsPermissions

sp_helptext を使用してビューの定義を返すには、 public ロールのメンバーシップが必要です。Using sp_helptext to return the definition of a view requires membership in the public role. sys.sql_expression_dependencies を使用してビューのすべての依存関係を見つけるには、データベースに対する VIEW DEFINITION 権限とデータベースの sys.sql_expression_dependencies に対する SELECT 権限が必要です。Using sys.sql_expression_dependencies to find all the dependencies on a view requires VIEW DEFINITION permission on the database and SELECT permission on sys.sql_expression_dependencies for the database. SELECT OBJECT_DEFINITION で返されるようなシステム オブジェクトの定義は公開されます。System object definitions, like the ones returned in SELECT OBJECT_DEFINITION, are publicly visible.

SQL Server Management Studio の使用Using SQL Server Management Studio

オブジェクト エクスプローラーを使用してビューのプロパティを取得するGet view properties by using Object Explorer

  1. オブジェクト エクスプローラーで、プロパティを表示するビューを含むデータベースの横にあるプラス記号をクリックします。次に、プラス記号をクリックして [ビュー] フォルダーを展開します。In Object Explorer, click the plus sign next to the database that contains the view to which you want to view the properties, and then click the plus sign to expand the Views folder.

  2. プロパティを表示するビューを右クリックし、 [プロパティ] を選択します。Right-click the view of which you want to view the properties and select Properties.

    [ビューのプロパティ] ダイアログ ボックスに次のプロパティが表示されます。The following properties show in the View Properties dialog box.

    [データベース]Database
    このビューを含むデータベースの名前です。The name of the database containing this view.

    [サーバー]Server
    現在のサーバー インスタンスの名前です。The name of the current server instance.

    UserUser
    この接続のユーザーの名前です。The name of the user of this connection.

    [作成日]Created date
    ビューが作成された日付を表示します。Displays the date the view was created.

    名前Name
    現在のビューの名前です。The name of the current view.

    [スキーマ]Schema
    ビューを所有するスキーマを表示します。Displays the schema that owns the view.

    [システム オブジェクト]System object
    ビューがシステム オブジェクトかどうかを指定します。Indicates whether the view is a system object. 値は True と False です。Values are True and False.

    [ANSI NULL]ANSI NULLs
    オブジェクトが ANSI NULL オプションで作成されたかどうかを指定します。Indicates if the object was created with the ANSI NULLs option.

    EncryptedEncrypted
    ビューが暗号化されているかどうかを指定します。Indicates whether the view is encrypted. 値は True と False です。Values are True and False.

    [引用符で囲まれた識別子]Quoted identifier
    オブジェクトが引用符で囲まれた識別子オプションで作成されたかどうかを指定します。Indicates if the object was created with the quoted identifier option.

    [スキーマ バインド]Schema bound
    ビューがスキーマ バインドされているかどうかを指定します。Indicates whether the view is schema-bound. 値は True と False です。Values are True and False. スキーマ バインド ビューの詳細については、「CREATE VIEW (Transact-SQL)」の SCHEMABINDING のトピックを参照してください。For information about schema-bound views, see the SCHEMABINDING portion of CREATE VIEW (Transact-SQL).

ビュー デザイナー ツールを使用したビューのプロパティの取得Getting view properties by using the View Designer tool

  1. オブジェクト エクスプローラーで、プロパティを表示するビューを含むデータベースを展開します。次に、 [ビュー] フォルダーを展開します。In Object Explorer, expand the database that contains the view to which you want to view the properties, and then expand the Views folder.

  2. プロパティを表示するビューを右クリックし、 [デザイン] を選択します。Right-click the view of which you want to view the properties and select Design.

  3. ダイアグラム ペインの空白領域を右クリックし、 [プロパティ] をクリックします。Right-click in the blank space of the Diagram pane and click Properties.

    [プロパティ] ウィンドウに次のプロパティが表示されます。The following properties show in the Properties pane.

    [(名前)](Name)
    現在のビューの名前です。The name of the current view.

    データベース名Database Name
    このビューを含むデータベースの名前です。The name of the database containing this view.

    [説明]Description
    現在のビューの簡単な説明です。A brief description of the current view.

    [スキーマ]Schema
    ビューを所有するスキーマを表示します。Displays the schema that owns the view.

    [サーバー名]Server Name
    現在のサーバー インスタンスの名前です。The name of the current server instance.

    [スキーマにバインド]Bind to Schema
    このビューに関連する既定のオブジェクトをユーザーが変更した結果ビュー定義が無効化されるのを防止します。Prevents users from modifying the underlying objects that contribute to this view in any way that would invalidate the view definition.

    決定的Deterministic
    選択した列のデータ型を明確に決定できるかどうかが表示されます。Shows whether the data type of the selected column can be determined with certainty

    [DISTINCT 値]Distinct Values
    クエリでビューの重複する値を除外することを指定します。Specifies that the query will filter out duplicates in the view. このオプションは、テーブルの一部の列だけを使用するときに、使用する列に重複した値が含まれる可能性のある場合、または 2 つ以上のテーブルを結合するプロセスによって結果セットに重複した行が生成される場合に便利です。This option is useful when you are using only some of the columns from a table and those columns might contain duplicate values, or when the process of joining two or more tables produces duplicate rows in the result set. このオプションを選択することは、SQL ペインでステートメントに DISTINCT という単語を挿入することと同じです。Choosing this option is equivalent to inserting the keyword DISTINCT into the statement in the SQL pane.

    [GROUP BY 拡張子]GROUP BY Extension
    集計クエリに基づくビューの追加オプションが使用できるように指定します。Specifies that additional options for views based on aggregate queries are available.

    [すべての列を出力]Output All Columns
    選択したビューによってすべての列が返されるかどうかを示します。Shows whether all columns are returned by the selected view. これは、ビューの作成時に設定されます。This is set at the time the view is created.

    [SQL コメント]SQL Comment
    SQL ステートメントの説明を表示します。Shows a description of the SQL statements. 説明全体を表示したり、説明を編集したりするには、説明をクリックして、プロパティの右側にある省略記号 ( [...] ) をクリックします。To see the entire description, or to edit it, click the description and then click the ellipses (...) to the right of the property. ビューの使用者やビューをいつ使用するかなどの情報をコメントに含めることもできます。Your comments might include information such as who uses the view and when they use it.

    [TOP の指定]Top Specification
    展開すると、 [TOP][式][パーセント] 、および [With Ties] の各プロパティのプロパティが表示されます。Expands to show properties for the Top, Expression, Percent, and With Ties properties.

    [(Top)](Top)
    ビューに TOP 句が含まれるように指定します。この場合、最初の n 行または最初の n% の行だけが結果セットに返されます。Specifies that the view will include a TOP clause, which returns only the first n rows or first n percentage of rows in the result set. 既定では、ビューは最初の 10 行を結果セットに返します。The default is that the view returns the first 10 rows in the result set. 返される行数を変更するか、異なるパーセントを指定する場合に使用します。Use this to change the number of rows to return or to specify a different percentage

    [式]Expression
    ビューによって返されるパーセント ( [パーセント][はい] に設定されている場合) またはレコード数 ( [パーセント][いいえ] に設定されている場合) を示します。Shows what percent (if Percent is set to Yes) or records (if Percent is set to No) that the view will return.

    [パーセント]Percent
    クエリに TOP 句が含まれるように指定します。この場合、最初の n% の行だけが結果セットに返されます。Specifies that the query will include a TOP clause, returning only the first n percentage of rows in the result set

    [With Ties]With Ties
    ビューに WITH TIES 句が含まれるように指定します。Specifies that the view will include a WITH TIES clause. WITH TIES は、ビューに ORDER BY 句とパーセンテージに基づく TOP 句が含まれる場合に便利です。WITH TIES is useful if a view includes an ORDER BY clause and a TOP clause based on percentage. このオプションを設定すると、 ORDER BY 句の列で同一の値を持つ行がセットになり、セットの一部の行がパーセンテージによる制限で切り捨てられてしまう場合は、すべての行が含まれるように、ビューで指定されるパーセンテージが増やされます。If this option is set, and if the percentage cutoff falls in the middle of a set of rows with identical values in the ORDER BY clause, the view is extended to include all such rows.

    [更新の指定]Update Specification
    展開すると、 [表示ルールを使用して更新] プロパティと [オプションのチェック] プロパティのプロパティが表示されます。Expands to show properties for the Update Using View Rules and Check Option properties.

    (表示ルールを使用して更新)(Update Using View Rules)
    Microsoft Data Access Components (MDAC) によって、すべての更新およびビューへの挿入は、ビューのベース テーブルを直接参照する SQL ステートメントではなく、ビューを参照する SQL ステートメントに変換されます。Indicates that all updates and insertions to the view will be translated by Microsoft Data Access Components (MDAC) into SQL statements that refer to the view, rather than into SQL statements that refer directly to the view's base tables.

    MDAC マニフェストは、更新およびビューの挿入操作を、ビューの基になるベース テーブルに対する更新および挿入操作として見なす場合があります。In some cases, MDAC manifests view update and view insert operations as updates and inserts against the view's underlying base tables. [表示ルールを使用して更新] を選択することにより、MDAC がビュー自体に対する更新および挿入操作を生成することが保証されます。By selecting Update Using View Rules, you can ensure that MDAC generates update and insert operations against the view itself.

    [オプションのチェック]Check Option
    このビューを開き、 [結果] ウィンドウを変更すると、データ ソースによって、追加または変更されたデータがビュー定義の WHERE 句を満たすかどうかがチェックされます。Indicates that when you open this view and modify the Results pane, the data source checks whether the added or modified data satisfies the WHERE clause of the view definition. 変更内容が WHERE 句を満たさない場合、エラーが詳細情報と共に表示されます。If your modification do not satisfy the WHERE clause, you will see an error with more information.

ビューの依存関係を取得するにはTo get dependencies on the view

  1. オブジェクト エクスプローラーで、プロパティを表示するビューを含むデータベースを展開します。次に、 [ビュー] フォルダーを展開します。In Object Explorer, expand the database that contains the view to which you want to view the properties, and then expand the Views folder.

  2. プロパティを表示するビューを右クリックし、 [依存関係の表示] を選択します。Right-click the view of which you want to view the properties and select View Dependencies.

  3. ビューを参照するオブジェクトを表示するには、 [[ビュー名] に依存するオブジェクト] を選択します。Select Objects that depend on [view name] to display the objects that refer to the view.

  4. ビューによって参照されるオブジェクトを表示するには、 [[ビュー名] が依存するオブジェクト] を選択します。Select Objects on which [view name] depends to display the objects that are referenced by the view.

Transact-SQL の使用Using Transact-SQL

ビューの定義およびプロパティを取得するにはTo get the definition and properties of a view

  1. オブジェクト エクスプローラーで、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次のいずれかの例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste one of the following examples into the query window and click Execute.

    USE AdventureWorks2012;  
    GO  
    SELECT definition, uses_ansi_nulls, uses_quoted_identifier, is_schema_bound  
    FROM sys.sql_modules  
    WHERE object_id = OBJECT_ID('HumanResources.vEmployee');   
    GO  
    
    USE AdventureWorks2012;   
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID('HumanResources.vEmployee')) AS ObjectDefinition;   
    GO  
    
    EXEC sp_helptext 'HumanResources.vEmployee';  
    

詳細については、「sys.sql_modules (Transact-SQL)」、「OBJECT_DEFINITION (Transact-SQL)」、および「sp_helptext (Transact-SQL)」を参照してください。For more information, see sys.sql_modules (Transact-SQL), OBJECT_DEFINITION (Transact-SQL) and sp_helptext (Transact-SQL).

ビューの依存関係を取得するにはTo get the dependencies of a view

  1. オブジェクト エクスプローラーで、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    GO  
    SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name,   
        o.type_desc AS referencing_desciption,   
        COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id,   
        referencing_class_desc, referenced_class_desc,  
        referenced_server_name, referenced_database_name, referenced_schema_name,  
        referenced_entity_name,   
        COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,  
        is_caller_dependent, is_ambiguous  
    FROM sys.sql_expression_dependencies AS sed  
    INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id  
    WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');  
    GO  
    

詳細については、「sys.sql_expression_dependencies (Transact-SQL)」および「sys.objects (Transact-SQL)」を参照してください。For more information, see sys.sql_expression_dependencies (Transact-SQL) and sys.objects (Transact-SQL).