Cloud Shell から Azure SQL Database の名前を変更する

Azure SQL Database ( 以下、SQLDB ) のポイントインタイムリストアを実施する場合において、リストアする SQLDB はリストア元の SQLDB とは別の名前を指定する必要があります。

また、リストアした SQLDB を元の名前で利用する為には、以下の内容で各 SQLDB の名前を変更する必要があります。

  • リストア元の SQLDB を別名に変更する ( リストア元の SQLDB の名前を未使用の状態にする為 )
  • リストアした SQLDB をリストア元の SQLDB の名前に変更する

この名前変更の操作は、 SQL Server Management Studio ( 以下、SSMS ) を使用して、SQLDB をホストしている Azure SQL Server ( 以下、SQL Server ) に接続する事で容易に実施できます。また、SSMS が使用できない場合でも、Azure ポータル上からも実施する事が可能です。

本記事では、検証で確認できた、SQLDB の名前を変更する各手順をご紹介します。

前提

  • 本手順は SSMS や Azure ポータルからの操作を前提とします。
  • 本手順は SQLDB の利用を前提とします。

SQLDB のリストアについては、以下の公開情報の内容もご参照下さい。 learn.microsoft.com

環境

  • Azure ポータルから検証用に作成した SQL Server ( sql-test0620 ) と SQLDB ( sqldb-test0620 ) を使用します。
  • 作成した SQLDB にてポイントインタイムリストアを実施し、事前に SQL Server ( sql-test0620 ) 上に別名の SQLDB ( sqldb-test0620_restore ) を作成しておきます。
  • SSMS が導入されている PC から SQLDB をホストしている SQL Server に対して接続できる様、事前に SQL Server のネットワーク設定を変更しておきます。

検証

SSMS 上からの GUI 操作による名前変更

1.SSMS が導入されている PC から SQL Server に接続します。

2.リストア元の SQLDB の名前 ( sqldb-test0620 ) を未使用の状態にする為に、まずはリストア元の SQLDB の右クリックメニューから [ 名前の変更 ] を選択します。

3.名前が変更できる様になりますので、別名 ( sqldb-test0620_old ) に変更します。

4.名前が変更された事を確認します。

5.手順 2 ~ 4 と同様の操作を行い、リストアした SQLDB の名前 ( sqldb-test0620_restore ) をリストア元の SQLDB の名前 ( sqldb-test0620 ) に変更します。

SSMS 上からの GUI 操作による名前変更はこれで完了となります。

SQL クエリの実行による名前変更

1.SSMS が導入されている PC から SQL Server に接続し、[ 新しいクエリ ] をクリックしてクエリエディタを起動します。また、使用するデータベースを [ master ] に変更しておきます。

2.リストア元の SQLDB の名前 ( sqldb-test0620 ) を未使用の状態にする為、以下の SQL クエリ を実行し、リストア元の SQLDB を別名 ( sqldb-test0620_old ) に変更します。

ALTER DATABASE [ リストア元の SQLDB 名 ] MODIFY NAME = [ 別名 ];

※ SQLDB 名の変更が反映されない場合は、[ 最新の情報に更新 ] ボタンをクリックする事で表示が更新されます。

3.手順 2 と同様に以下の SQL クエリを実行し、リストアした SQLDB の名前 ( sqldb-test0620_restore ) をリストア元の SQLDB の名前 ( sqldb-test0620 ) に変更します。

ALTER DATABASE [ リストアした SQLDB 名 ] MODIFY NAME = [ リストア元の SQLDB 名 ];

SQL クエリの実行による名前変更はこれで完了となります。

Cloud Shell 上での az コマンドの実行による名前変更

1.Azure ポータルにアクセスし Cloud Shell を起動します。

2.リストア元の SQLDB の名前 ( sqldb-test0620 ) を未使用の状態にする為、Cloud Shell から以下のコマンドを実行し、リストア元の SQLDB を別名 ( sqldb-test0620_old ) に変更します。

az sql db rename --resource-group [ リソースグループ名 ] --server [ SQL Server 名 ] --name [ リストア元の SQLDB 名 ] --new-name [ 別名 ]

3.Azure ポータルから SQLDB をホストしている SQL Server の [ 設定 ] - [ SQL データベース ] にアクセスし、リストア元の SQLDB の名前が変更されている事を確認します。

4.手順 2 と同様の操作で Cloud Shell から以下のコマンドを実行し、リストアした SQLDB ( sqldb-test0620_restore ) の名前をリストア元の SQLDB の名前 ( sqldb-test0620 ) に変更します。

az sql db rename --resource-group [ リソースグループ名 ] --server [ SQL Server 名 ] --name [ リストアした SQLDB 名 ] --new-name [ リストア元の SQLDB 名 ]

5.再度 Azure ポータルから SQLDB をホストしている SQL Server の [ 設定 ] - [ SQL データベース ] にアクセスし、リストアした SQLDB の名前が変更されている事を確認します。

Cloud Shell 上での az コマンドの実行による名前変更はこれで完了となります。

おわりに

本記事では、SSMS による GUI 操作、SQL クエリの実行、Cloud Shell 上での az コマンド実行の 3 つのパターンで SQLDB の名前が変更できる事を確認しました。

SQLDB のリストアを実施する際に参考になれば幸いです。

執筆担当者プロフィール
中川 優

中川 優(日本ビジネスシステムズ株式会社)

Azure OpenAIをはじめとするAI関連領域について勉強中です。

担当記事一覧