このクイックスタートでは、Azure portal、PowerShell スクリプト、または Azure CLI スクリプトを使用して、Azure SQL Database に単一データベースを作成します。 次に、Azure portal でクエリ エディターを使用して、データベースに対してクエリを実行します。
Azure portal で単一データベースを作成するために、このクイックスタートは、Azure SQL のページから開始します。
[Select SQL Deployment option](SQL デプロイ オプションの選択) ページを参照します。
[SQL データベース] で、 [リソースの種類] を [単一データベース] に設定し、 [作成] を選択します。
[SQL データベースの作成] フォームの [基本] タブにある [プロジェクトの詳細] で、目的の Azure [サブスクリプション] を選択します。
[リソース グループ] で、 [新規作成] を選択し、「myResourceGroup」と入力して、 [OK] を選択します。
[データベース名] に「mySampleDatabase」と入力します。
[サーバー] で、 [新規作成] を選択し、 [新しいサーバー] フォームに次の値を入力します。
- [サーバー名] : 「mysqlserver」と入力し、一意にするためにいくつかの文字を追加します。 サーバー名は、サブスクリプション内で一意ではなく、Azure のすべてのサーバーに対してグローバルに一意である必要があるため、正確なサーバー名をここに示すことはできません。
mysqlserver12345
のように入力すると、これが使用可能かどうかがポータルで確認できます。
- [場所] :ドロップダウン リストから場所を選択します。
- [認証方法]: [SQL 認証を使用] を選択します。
- サーバー管理者ログイン:「azureuser」と入力します。
- パスワード:要件を満たすパスワードを入力し、 [パスワードの確認入力] フィールドにもう一度入力します。
[OK] を選択します。
[SQL エラスティック プールを使用しますか?] を [いいえ] に設定したままにします。
[コンピューティングとストレージ] で、 [データベースの構成] を選択します。
このクイックスタートではサーバーレス データベースを使用します。そのため、[サービス レベル] を [汎用] (スケーラブルなコンピューティングおよびストレージ オプション) のままとし、[コンピューティング レベル] を [サーバーレス] に設定します。 [適用] を選択します。
[バックアップ ストレージの冗長性] で、バックアップの保存先となるストレージ アカウントの冗長性オプションを選択します。 詳細については、「バックアップ ストレージの冗長性」を参照してください。
ページの下部にある [Next: Networking](次へ: ネットワーク) を選択します。
[ネットワーク] タブの [接続方法] で、 [パブリック エンドポイント] を選択します。
[ファイアウォール規則] で、 [現在のクライアント IP アドレスを追加する] を [はい] に設定します。 [Azure サービスおよびリソースにこのサーバー グループへのアクセスを許可する] を [いいえ] に設定したままにします。
[接続ポリシー] で、[既定の接続ポリシー] を選択し、[最小 TLS バージョン] を既定の TLS 1.2 のままにします。
ページの下部で [次へ: セキュリティ] を選択します。
[セキュリティ] ページでは、Microsoft Defender for SQL の無料試用版の使用を開始できるだけではなく、必要な場合には、台帳、マネージド ID、Transparent data encryption (TDE) を構成することもできます。 ページの下部にある [Next: Additional settings](次へ: 追加設定) を選択します。
[追加設定] タブにある [データ ソース] セクションの [既存のデータを使用します] で、 [サンプル] を選択します。 これにより、AdventureWorksLT サンプル データベースが作成され、空のデータベースではなく、クエリと実験に使用するテーブルとデータが用意されます。 また、データベースの照合順序とメンテナンス期間を構成することもできます。
ページの下部にある [確認と作成] を選択します。
[確認と作成] ページで、確認後、 [作成] を選択します。
このセクションの Azure CLI コード ブロックは、サーバーにアクセスするためのリソース グループ、サーバー、単一データベース、およびサーバー レベルの IP ファイアウォール 規則を作成します。 後でこれらのリソースを管理できるように、生成されたリソース グループとサーバーの名前を必ず記録しておいてください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
Azure CLI の環境を準備する
Azure Cloud Shell を起動する
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。 https://shell.azure.com に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。
Cloud Shell が開いたら、お使いの環境に対して Bash が選択されていることを確認します。 以降のセッションでは、Bash 環境で Azure CLI を使用します。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けます。その後、Enter キーを押してそれを実行します。
Azure へのサインイン
Cloud Shell は、サインインした最初のアカウントで自動的に認証されます。 別のサブスクリプションを使用してサインインするには、次のスクリプトを使用し、<Subscription ID>
をご使用の Azure サブスクリプション ID に置き換えます。 Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
詳細については、アクティブなサブスクリプションの設定または対話形式のログインに関する記事を参照してください
パラメーターの値を設定する
次の値は、データベースと必要なリソースを作成するために、後続のコマンドで使用されます。 サーバー名は、すべての Azure でグローバルに一意である必要があるため、サーバー名の作成に $RANDOM 関数が使用されます。
場所は、ご使用の環境に合わせて変更してください。 0.0.0.0
を、ご使用の特定の環境に合った IP アドレスの範囲に置き換えます。 ご使用のコンピューターのパブリック IP アドレスを使用して、サーバーへのアクセスをその IP アドレスのみに制限します。
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="create-and-configure-database"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit access to the SQL Database server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
リソース グループを作成する
az group create コマンドを使用して、リソース グループを作成します。 Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 次の例では、myResourceGroup という名前のリソース グループを eastus に作成します。
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
サーバーの作成
az sql server create コマンドを使用してサーバーを作成します。
echo "Creating $server in $location..."
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server firewall-rule create コマンドを使用してファイアウォール規則を作成します。
echo "Configuring firewall..."
az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address $startIp --end-ip-address $endIp
単一データベースを作成する
az sql db create コマンドでサーバーレス コンピューティング レベルにデータベースを作成します。
echo "Creating $database in serverless tier"
az sql db create \
--resource-group $resourceGroup \
--server $server \
--name $database \
--sample-name AdventureWorksLT \
--edition GeneralPurpose \
--compute-model Serverless \
--family Gen5 \
--capacity 2
このセクションの Azure CLI コード ブロックでは、az sql up コマンドを使用して、データベースの作成プロセスを簡略化します。 これを使用すると、データベースと、それに関連付けられているすべてのリソースを 1 つのコマンドで作成できます。 これには、リソース グループ、サーバー名、サーバーの場所、データベース名、ログイン情報が含まれます。 データベースは、既定の価格レベル (General Purpose、プロビジョニング済み、Standard シリーズ (Gen5)、2 個の仮想コア) で作成されます。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
Azure CLI の環境を準備する
Azure Cloud Shell を起動する
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。 https://shell.azure.com に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。
Cloud Shell が開いたら、お使いの環境に対して Bash が選択されていることを確認します。 以降のセッションでは、Bash 環境で Azure CLI を使用します。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けます。その後、Enter キーを押してそれを実行します。
Azure へのサインイン
Cloud Shell は、サインインした最初のアカウントで自動的に認証されます。 別のサブスクリプションを使用してサインインするには、次のスクリプトを使用し、<Subscription ID>
をご使用の Azure サブスクリプション ID に置き換えます。 Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
詳細については、アクティブなサブスクリプションの設定または対話形式のログインに関する記事を参照してください
パラメーターの値を設定する
次の値は、データベースと必要なリソースを作成するために、後続のコマンドで使用されます。 サーバー名は、すべての Azure でグローバルに一意である必要があるため、サーバー名の作成に $RANDOM 関数が使用されます。
場所は、ご使用の環境に合わせて変更してください。 0.0.0.0
を、ご使用の特定の環境に合った IP アドレスの範囲に置き換えます。
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="create-and-configure-database"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit access to the SQL Database server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
Note
az sql up は現在プレビュー段階であり、現在、サーバーレス コンピューティング レベルはサポートされていません。 また、現在、アルファベット以外の文字と数値以外の文字をデータベース名に使用することもできません。
データベースとリソースを作成する
az sql up コマンドを使用して、Azure SQL データベースの論理サーバー をすぐに使用するように構成します。 後でこれらのリソースを管理できるように、生成されたリソース グループとサーバーの名前を必ず記録しておいてください。
Note
az sql up
コマンドの初回実行時、Azure CLI により、db-up
拡張機能のインストールするよう求められます。 この拡張機能は、現在プレビューの段階にあります。 インストールを受け入れて続行します。 拡張機能の詳細については、「Azure CLI で拡張機能を使用する」を参照してください。
az sql up
コマンドを実行します。 --server-name
など、必要なパラメーターが使用されていない場合、そのリソースはランダムな名前とそれに割り当てられたログイン情報で作成されます。
az sql up \
--resource-group $resourceGroup \
--location $location \
--server-name $server \
--database-name $database \\
--admin-user $login \
--admin-password $password
サーバー ファイアウォール規則が自動的に作成されます。 サーバーが IP アドレスを拒否した場合は、az sql server firewall-rule create
コマンドを使用し、適切な開始 IP アドレスと終了 IP アドレスを指定して、新しいファイアウォール規則を作成します。
startIp=0.0.0.0
endIp=0.0.0.0
az sql server firewall-rule create \
--resource-group $resourceGroup \
--server $server \
-n AllowYourIp \
--start-ip-address $startIp \
--end-ip-address $endIp
必要なすべてのリソースが作成され、データベースはすぐにクエリの実行ができます。
Azure PowerShell を使用して、リソース グループ、サーバー、単一データベースを作成できます。
Azure Cloud Shell を起動する
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。 https://shell.azure.com に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。
Cloud Shell が開いたら、環境で PowerShell が選択されていることを確認します。 以降のセッションでは、PowerShell 環境で Azure CLI を使用します。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けます。その後、Enter キーを押してそれを実行します。
パラメーターの値を設定する
次の値は、データベースと必要なリソースを作成するために、後続のコマンドで使用されます。 サーバー名は、すべての Azure でグローバルに一意である必要があるため、サーバー名の作成に Get-Random コマンドレットが使用されます。 IP アドレス範囲の 0.0.0.0 の値を、お使いの環境に合わせて置き換えます。
# Set variables for your server and database
$resourceGroupName = "myResourceGroup"
$location = "eastus"
$adminLogin = "azureuser"
$password = "Azure1234567!"
$serverName = "mysqlserver-$(Get-Random)"
$databaseName = "mySampleDatabase"
# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Server name is" $serverName
リソース グループの作成
New-AzResourceGroup を使用して Azure リソース グループを作成します。 リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup
サーバーの作成
New-AzSqlServer コマンドレットを使用してサーバーを作成します。
Write-host "Creating primary server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server
ファイアウォール規則を作成する
New-AzSqlServerFirewallRule コマンドレットを使用して、サーバーのファイアウォール規則を作成します。
Write-host "Configuring server firewall rule..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
PowerShell を使用して単一データベースを作成する
New-AzSqlDatabase コマンドレットを使用して、単一データベースを作成します。
Write-host "Creating a gen5 2 vCore serverless database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-ComputeModel Serverless `
-ComputeGeneration Gen5 `
-VCore 2 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT"
$database