演習 - Azure SQL Database のバックアップを構成する
Azure SQL Database の既定の構成には自動バックアップが含まれますが、ほとんどの組織では既定の設定を変更し、ニーズに合わせて調整します。
これで Azure SQL Database の包括的なバックアップ戦略と会社の ERP システムを計画したので、次はそれを実装します。
Azure でデータベースを作成してから、バックアップを構成しましょう。 ポリシーに従って確実にバックアップが 4 週間保持されるように、保持期間を 28 日に設定します。 次に、いくつかのコンテンツをデータベースに追加します。
Azure SQL Database の論理サーバーとデータベースを作成する
Azure CLI を使って、SQL Database の論理サーバーとデータベースを作成しましょう。
Azure SQL Database の論理サーバーは、オンプレミスでなじみのある SQL Server インスタンスとは異なるものです。 Azure SQL Database の "サーバー" とは、データベースのコレクションの中央管理ポイントとして機能する論理構造です。 Azure SQL データベースは、同じ Azure リージョン内にある 1 つの論理サーバー内に存在し、それによって管理されます。 たとえば、Azure SQL 論理サーバーを使って、ファイアウォールやバックアップ保持期間など、各データベースの設定を構成することができます。
Azure Cloud Shell で次のコマンドを実行して、SQL Database 論理サーバーの作成に使ういくつかの変数を設定します。
$serverName = "erpserver-$(Get-Random)" $location = $(Get-AzResourceGroup -ResourceGroupName <rgn>[sandbox resource group name]</rgn>).location $sqlAdmin = Get-Credential -credential dbadmin
この手順では、確実にグローバルに一意になるように、末尾に乱数を使用してサーバー名を作成します。 サーバー名は演習を通して
erpserver-NNNN
と呼ばれますが、この名前を、ここで生成するサーバーの名前に置き換えてください。また、この手順では、サーバーの場所をリソース グループの場所に設定します。 最後に、Azure SQL データベースの論理サーバーにアクセスするために使う資格情報も設定します。 コマンドによって求められたら、任意の複雑なパスワードを入力します。
New-AzSqlServer
コマンドを実行して、データベースを格納するための Azure SQL Database 論理サーバーを作成します。New-AzSqlServer ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Location $location ` -ServerName $serverName ` -SqlAdministratorCredentials $sqlAdmin
New-AzSqlDatabase
コマンドを実行してデータベースを作成します。New-AzSqlDatabase ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -ServerName $serverName ` -DatabaseName sql-erp-db
既定では、
New-AzSqlDatabase
を実行すると、スタンダード シリーズ ハードウェアと 2 個の仮想コアでプロビジョニングされた汎用の仮想コア データベースが作成されます。
データベース バックアップ保持ポリシーを構成する
Azure portal で既定のバックアップ保持ポリシーを調べ、ニーズに合わせて調整できます。
Azure portal のメニューまたは [ホーム] ページで、[すべてのリソース] を選択し、作成した erpserver-NNNN データベース論理サーバーを選択します。 データベース (SQL) サーバーのペインが表示されます。
左側のナビゲーション ウィンドウの [データ管理] で、[バックアップ] を選択します。 データベース論理サーバーの [バックアップ] ペインが表示されます。
[アイテム保持ポリシー] タブで、sql-erp-db データベースを選択し、上部のメニュー バーで [ポリシーの構成] を選択します。 [ポリシーの構成] ペインが表示されます。
[ポイントインタイム リストア] スライダー バーを動かし、28 に設定します。
[適用] を選択し、[はい] を選択して選択を確定します。
データベース論理サーバーへのネットワーク アクセスを許可する
既定では、Azure SQL Database は論理サーバーへのネットワーク アクセスをブロックします。 Cloud Shell と Azure portal からクエリを実行できるように、IP アドレスと Azure サービスの両方でサーバーにアクセスできるようにしましょう。 IP アドレスを追加することで、ローカル デバイスから直接接続することもできます。
作成した erpserver-NNNN データベース論理サーバーに戻ります。
左側のナビゲーション ウィンドウの [セキュリティ] で、[ネットワーク] を選択します。
[ファイアウォール規則] セクションで、[クライアント IPv4 アドレスの追加] を選択します。 必要に応じて、現在使用している IPv4 IP アドレスを特定し、開始アドレスと終了アドレスとして指定します。
[例外] セクションで、[Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] の横にあるチェックボックスをオンにします。 この演習以外では、このオプションを有効にすることは適切でない場合があります。 その場合は、この演習で取り上げていない他の方法で (おそらく Azure Private Link を使用したプライベート エンドポイント経由で) アクセス権を付与する必要があります。
[保存] を選択します。
データベースにデータを追加する
ここで、テーブルとサンプル レコードをデータベースに追加しましょう。 データベースにいくつかデータがあると、モジュールの後半でバックアップと復元が動作することを確認するのに便利です。
左側のナビゲーション ウィンドウの [設定] で [SQL データベース] を選択し、[sql-erp-db] を選択します。 データベース サーバー ペインが再び表示されます。
左側のメニュー ペインで [クエリ エディター (プレビュー)] を選択してから、dbadmin 資格情報と、このアカウントに指定したパスワードを使用してサインインします。
テーブルを作成するには、[クエリ 1] ウィンドウで次の SQL コマンドを入力し、[実行] を選択します。
CREATE TABLE Person ( PersonId INT IDENTITY PRIMARY KEY, FirstName NVARCHAR(50) NOT NULL, LastName NVARCHAR(50) NOT NULL, DateOfBirth DATE NOT NULL )
レコードを追加するには、上部のメニュー バーで [新しいクエリ] を選択します。 [クエリ 2] ウィンドウで、次の SQL コマンドを入力して [実行] を選択します。
INSERT INTO PERSON (FirstName, LastName, DateOfBirth) VALUES ('Lucas', 'Ball', '1987-11-03');
データベースに対してクエリを実行するには、[新しいクエリ] を選択します。 [クエリ 3] ウィンドウで、次の SQL コマンドを入力して [実行] を選択します。
SELECT * FROM dbo.Person
[結果] ウィンドウに、Lucas Ball のレコードが表示されます。
これで、データが入力された Azure SQL Database を作成し、保有ポリシーを設定したので、すぐに復元に使用できるバックアップを 4 週間保持できるようになりました。