対象者:SQL Server 2016 (13.x) およびそれ以降のバージョン
Azure SQL Database
Azure SQL Managed Instance
SQL Database in Microsoft Fabric
この記事では、データベースのテーブル名を変更する方法について説明します。
Azure Synapse Analytics または Parallel Data Warehouse のテーブルの名前を変更するには、 RENAME (Transact-SQL) を使用します。
Limitations
Caution
テーブル名の変更については、十分に検討してください。 そのテーブルを参照するクエリ、ビュー、ユーザー定義関数、ストアド プロシージャ、またはプログラムが存在する場合、テーブル名を変更すると、それらのオブジェクトが無効になります。
テーブル名を変更しても、そのテーブルに対する参照名は自動では変更されません。 名前を変更したテーブルを参照しているオブジェクトに対しては、手動で変更を加える必要があります。 たとえば、テーブルの名前を変更するとき、そのテーブルがトリガーで参照されている場合は、新しいテーブル名が反映されるようにトリガーに変更を加える必要があります。 オブジェクトの名前を変更する前には、 sys.sql_expression_dependencies を使ってテーブルの従属関係を一覧表示できます。
Permissions
テーブルに対する ALTER 権限が必要です。
SQL Server Management Studio を使用します。
最新バージョンの SQL Server Management Studio (SSMS) をインストールします。
テーブル名の変更
オブジェクト エクスプローラーで、名前を変更するテーブルを右クリックし、ショートカット メニューの [デザイン] をクリックします。
[表示] メニューの [プロパティ]をクリックします。
[プロパティ] ウィンドウの [オブジェクト名] ボックスに、テーブルの新しい名前を入力します。
この操作を取り消すには、このフィールドを離れる前に Esc キーを押します。
[ファイル] メニューの [テーブル名を保存] を選択します。
テーブル名の変更
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで、 [新しいクエリ] を選択します。
次の例では、
SalesTerritoryスキーマのSalesTerrテーブルの名前をSalesに変更します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。USE AdventureWorks2022; GO EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
Important
sp_rename の @objname 構文には、古いテーブル名のスキーマを含める必要がありますが、新しいテーブル名を設定するとき、@newname では新しいテーブル名を設定するときにスキーマ名が含まれていません。