テーブル名の変更 (データベース エンジン)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed Instance

SQL Server、Azure SQL Managed Instance、または Azure SQL Database のテーブルの名前を変更します。

Azure Synapse Analytics または Parallel Data Warehouseのテーブルの名前を変更するには、RENAME OBJECT を使用します

注意事項

テーブル名の変更については、十分に検討してください。 そのテーブルを参照するクエリ、ビュー、ユーザー定義関数、ストアド プロシージャ、またはプログラムが存在する場合、テーブル名を変更すると、それらのオブジェクトが無効になります。

制限事項と制約事項

テーブル名を変更しても、そのテーブルに対する参照名は自動では変更されません。 名前を変更したテーブルを参照しているオブジェクトに対しては、手動で変更を加える必要があります。 たとえば、テーブルの名前を変更するとき、そのテーブルがトリガーで参照されている場合は、新しいテーブル名が反映されるようにトリガーに変更を加える必要があります。 オブジェクトの名前を変更する前には、 sys.sql_expression_dependencies を使ってテーブルの従属関係を一覧表示できます。

アクセス許可

テーブルに対する ALTER 権限が必要です。

SQL Server Management Studio を使用します

常に最新バージョンのSQL Server Management Studio (SSMS) を使用します。

テーブル名の変更

  1. オブジェクト エクスプローラーで、名前を変更するテーブルを右クリックし、ショートカット メニューから [デザイン] を選択します。

  2. [表示] メニューの [プロパティ] をクリックします。

  3. [プロパティ] ウィンドウの [オブジェクト名] ボックスに、テーブルの新しい名前を入力します。

  4. この操作を取り消すには、このフィールド外に移動する前に Esc キーを押します。

  5. [ファイル] メニューの [テーブル名の保存] を選択します。

テーブル名の変更

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例では、Sales スキーマの SalesTerritory テーブルの名前を SalesTerr に変更します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    USE AdventureWorks2022;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    

重要

の構文@objnameにはsp_rename、古いテーブル名のスキーマを含める必要がありますが@newname、新しいテーブル名を設定するときにスキーマ名は含まれません。

次のステップ