ビューの名前の変更

適用対象:SQL ServerAzure SQL Database Not supported.Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server では、 SQL Server Management Studio または Transact-SQL を使用してビューの名前を変更することができます。

警告

ビューの名前を変更すると、そのビューに依存するコードやアプリケーションの実行が失敗する場合があります。 これには、他のビュー、クエリ、ストアド プロシージャ、ユーザー定義関数、およびクライアント アプリケーションが含まれます。 このようなエラーは連鎖するので注意が必要です。

前提条件

  1. ビューのすべての依存関係の一覧を取得します。 ビューを参照するすべてのオブジェクト、スクリプト、またはアプリケーションは、ビューの新しい名前を反映するように変更する必要があります。 詳しくは、「 Get Information About a View」をご覧ください。
  2. ビューの名前を変更するのではなく、ビューを削除してから新しい名前で作成し直すことをお勧めします。 ビューを再作成することにより、ビューで参照されているオブジェクトの依存情報が更新されます。
    1. ビューを削除して再作成すると、ビューに割り当てられている詳細な SQL アクセス許可が削除されます。 詳細な SQL アクセス許可がビューに割り当てられている場合は、再作成後にビューに対するアクセスを再度許可する必要があります。 削除される前にオブジェクトに付与された詳細なアクセス許可を取得するには、sys.database_permissions (Transact-SQL) の例を参照してください。 ログインに権限を付与するには、「プリンシパルに対する権限の許可」を参照してください。

アクセス許可

SCHEMA に対する ALTER 権限または OBJECT に対する CONTROL 権限と、データベースの CREATE VIEW 権限が必要です。

SQL Server Management Studio を使用する

ビューの名前の変更

  1. オブジェクト エクスプローラーで、名前を変更するビューを含むデータベースを展開します。次に、 [ビュー] フォルダーを展開します。

  2. 名前を変更するビューを右クリックし、 [名前の変更]を選択します。

  3. ビューの新しい名前を入力します。

Transact-SQL の使用

ビューの名前は sp_rename を使用して変更できますが、既存のビューを削除した後、新しい名前でビューを再作成することをお勧めします。

ストアド プロシージャ、関数、ビュー、トリガの名前を sp_rename に変更しても、sys.sql_modules カタログ ビューの定義列にある、対応するオブジェクトの名前は変更されません。 これにより、将来的に混乱が発生する可能性があります。 そのため、オブジェクトの名前を変更するために sp_rename を使用することはお勧めしません。 代わりに、オブジェクトを削除して新しい名前で再作成してください。

次に例を示します。

DROP VIEW [dbo].[vOrders];
GO

CREATE VIEW [dbo].[vOrders]
AS 
<select_statement>
GO

詳細については、「CREATE VIEW (Transact-SQL)」および「DROP VIEW (Transact-SQL)」を参照してください。

補足情報: ビューの名前を変更した後

  1. ビューの古い名前を参照するすべてのオブジェクト、スクリプト、およびアプリケーションで新しい名前が使用されていることを確認します。
  2. ビューを削除して再作成すると、ビューに割り当てられている詳細な SQL アクセス許可が削除されます。 詳細な SQL アクセス許可がビューに割り当てられている場合は、ビューの再作成時にビューに対するアクセス許可を再度許可する必要があります。 削除される前にオブジェクトに付与された詳細なアクセス許可を取得するには、sys.database_permissions (Transact-SQL) の例を参照してください。 ログインに権限を付与するには、「プリンシパルに対する権限の許可」を参照してください。