適用対象:Azure SQL データベース
この記事では、新しいサーバーレスデータベースの作成方法、既存のデータベースをサーバーレス計算層に移行する方法、そしてAzure SQL Databaseでのサーバーレス設定の変更方法を説明します。
新しいサーバーレス データベースを作成する
新しいデータベースの作成や既存のデータベースをサーバーレスのコンピュート層に移行することは、プロビジョニングされたコンピュート層で新しいデータベースを作成するのと同じパターンに従います。 このプロセスは以下の2つのステップから成り立っています。
サービス目標を指定します。 サービス目標では、サービス レベル、ハードウェア構成、および最大仮想コア数が規定されます。 サービス目的の選択肢については、 サーバーレスリソース制限を参照してください。
必要に応じて、最小仮想コア数と自動一時停止遅延を指定して、既定値を変更します。 詳細は「 自動一時停止」と「自動再開」をご覧ください。
次の例では、サーバーレス コンピューティング レベルで新しいデータベースを作成します。
Azure ポータルを使用する
Quickstart: Azure ポータルを使用してAzure SQL Databaseで単一データベースを作成するを参照してください。
PowerShell の使用
次の PowerShell の例を使用して、新しいサーバーレス General Purpose データベースを作成します。
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"
$params = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $databaseName
Edition = 'GeneralPurpose'
ComputeModel = 'Serverless'
ComputeGeneration = 'Gen5'
MinVcore = 0.5
MaxVcore = 2
AutoPauseDelayInMinutes = 15
}
New-AzSqlDatabase @params
Azure CLI の使用
以下のAzure CLI例を使って新しいサーバーレス汎用データベースを作成します:
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"
az sql db create -g $resourceGroupName `
-s $serverName `
-n $databaseName `
-e GeneralPurpose `
--compute-model Serverless `
-f Gen5 `
--min-capacity 0.5 `
-c 2 `
--auto-pause-delay 15
Transact-SQL (T-SQL) の使用
T-SQLを使って新しいサーバーレスデータベースを作成すると、システムは最小vCoreと自動一時停止遅延のデフォルト値を適用します。 これらの値は後でAzureポータルやAPI経由で変更できます。PowerShell、Azure CLI、RESTなどです。
詳細については、「CREATE DATABASE」を参照してください。
次の T-SQL の例を使用して、新しい General Purpose サーバーレス データベースを作成します。
CREATE DATABASE testdb
( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_S_Gen5_1' ) ;
コンピューティング レベルまたはサービス レベル間でデータベースを移行する
データベースはプロビジョニング済みのコンピュート層とサーバーレスのコンピュート層間で移動できます。
また、サーバーレスデータベースを汎用サービス層からハイパースケールサービス層に移行することも可能です。 詳細については、「既存のデータベースを Hyperscaleに変換する」を参照してください。
データベースをコンピュートティア間で移動する際は、PowerShellやAzure CLIを使う場合はコンピュートモデルパラメータをServerlessまたはProvisionedに指定してください。 T-SQLを使用する場合は、 SERVICE_OBJECTIVEを指定します。 リソースの制限を確認し、適切なサービス目標を特定します。
次の例では、既存のデータベースを、プロビジョニング済みコンピューティングからサーバーレスに移行します。
PowerShell の使用
以下のPowerShell例を用いて、プロビジョニング済みの計算汎用データベースをサーバーレス計算層に移行します:
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"
$params = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $databaseName
Edition = 'GeneralPurpose'
ComputeModel = 'Serverless'
ComputeGeneration = 'Gen5'
MinVcore = 1
MaxVcore = 4
AutoPauseDelayInMinutes = 1440
}
Set-AzSqlDatabase @params
Azure CLI の使用
プロビジョニング済みのコンピュート汎用データベースをサーバーレス計算層に移行するには、以下のAzure CLI例をご利用ください:
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"
az sql db update -g $resourceGroupName `
-s $serverName `
-n $databaseName `
--edition GeneralPurpose `
--compute-model Serverless `
--family Gen5 `
--min-capacity 1 `
--capacity 4 `
--auto-pause-delay 1440
Transact-SQL (T-SQL) の使用
T-SQLを使ってデータベースをコンピュートティア間で移動させる場合、操作は最小vCoreと自動一時停止遅延のデフォルト値を適用します。 これらの値は後でAzureポータルやAPI経由で変更できます。PowerShell、Azure CLI、RESTなどです。 詳細については、ALTER DATABASE に関する記事をご覧ください。
プロビジョニング済みのコンピュート汎用データベースをサーバーレス計算層に移行するには、以下のT-SQL例を使用します。
ALTER DATABASE testdb
MODIFY ( SERVICE_OBJECTIVE = 'GP_S_Gen5_1') ;
サーバーレス構成を変更する
PowerShell の使用
Set-AzSqlDatabaseを使って最大または最小のvCoreや自動一時停止遅延を変更してください。
MaxVcore、MinVcore、AutoPauseDelayInMinutesのパラメータを使いましょう。 Hyperscaleティアは現在サーバーレスの自動停止をサポートしていないため、オートポーズ遅延パラメータは汎用ティアにのみ適用されます。
例えば、MaxVcore、MinVcore、または AutoPauseDelayInMinutes を変更するには
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"
$params = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $databaseName
MinVcore = 1
MaxVcore = 4
AutoPauseDelayInMinutes = 1440
}
Set-AzSqlDatabase @params
Azure CLI の使用
az sql db updateを使って最大または最小のvCore、自動一時停止遅延を変更してください。
capacity、min-capacity、auto-pause-delayのパラメータを使いましょう。 Hyperscaleティアは現在サーバーレスの自動停止をサポートしていないため、オートポーズ遅延パラメータは汎用ティアにのみ適用されます。
例えば、データベースを異なる最小または最大数のvCoreを使用するように変更したり、オートポーズ遅延を変更したりする場合:
$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"
az sql db update -g $resourceGroupName `
-s $serverName `
-n $databaseName `
--min-capacity 1 `
--capacity 4 `
--auto-pause-delay 1440