クイック スタート:BACPAC ファイルを Azure SQL Database 内のデータベースにインポートするQuickstart: Import a BACPAC file to a database in Azure SQL Database

BACPAC ファイルを使用して、Azure SQL Database 内のデータベースに SQL Server データベースをインポートできます。You can import a SQL Server database into a database in Azure SQL Database using a BACPAC file. Azure Blob Storage (Standard ストレージのみ) 内に格納された BACPAC ファイルから、またはオンプレミスの場所にあるローカル ストレージから、データをインポートできます。You can import the data from a BACPAC file stored in Azure Blob storage (standard storage only) or from local storage in an on-premises location. より高速なリソースを多く提供することでインポート速度を最大化するには、インポート プロセスの中でデータベースをより高いサービス層とコンピューティング サイズにスケーリングします。To maximize import speed by providing more and faster resources, scale your database to a higher service tier and compute size during the import process. インポートが正常に完了した後でスケールダウンすることができます。You can then scale down after the import is successful.

注意

インポートされたデータベースの互換性レベルは、ソース データベースの互換性レベルに基づきます。The imported database's compatibility level is based on the source database's compatibility level.

重要

データベースをデータベースに移行した後に、データベースを現在の互換性レベル (AdventureWorks2008R2 データベースの場合はレベル 100) またはそれ以上のレベルで運用できます。After importing your database, you can choose to operate the database at its current compatibility level (level 100 for the AdventureWorks2008R2 database) or at a higher level. データベースを指定の互換性レベルで運用する影響とオプションについて詳しくは、ALTER DATABASE の互換性レベルに関する記事をご覧ください。For more information on the implications and options for operating a database at a specific compatibility level, see ALTER DATABASE Compatibility Level. また、互換性レベルに関連する追加のデータベースレベルの設定について詳しくは、ALTER DATABASE SCOPED CONFIGURATION に関する記事をご覧ください。See also ALTER DATABASE SCOPED CONFIGURATION for information about additional database-level settings related to compatibility levels.

Azure portal で BACPAC ファイルからインポートするImport from a BACPAC file in the Azure portal

Azure portal では、Azure SQL Database 内の単一データベースの作成 "だけ" が、Azure Blob Storage に格納されている BACPAC ファイルから "のみ" サポートされています。The Azure portal only supports creating a single database in Azure SQL Database and only from a BACPAC file stored in Azure Blob storage.

注意

マネージド インスタンスでは現在、Azure portal を使用した BACPAC ファイルからインスタンス データベースへのデータベースの移行はサポートされていません。A managed instance does not currently support migrating a database into an instance database from a BACPAC file using the Azure portal. マネージド インスタンスにインポートするには、SQL Server Management Studio または SQLPackage を使用します。To import into a managed instance, use SQL Server Management Studio or SQLPackage.

  1. Azure portal を使用して新しい単一データベースに BACPAC ファイルからインポートするには、適切なデータベース サーバーのページを開き、 [データベースのインポート] を選択します。To import from a BACPAC file into a new single database using the Azure portal, open the appropriate database server page and then, on the toolbar, select Import database.

    データベース インポート 1

  2. ストレージ アカウントと BACPAC ファイルのコンテナーを選択してから、インポート元の BACPAC ファイルを選択します。Select the storage account and the container for the BACPAC file and then select the BACPAC file from which to import.

  3. 新しいデータベースのサイズ (通常、元のサイズと同じ) を指定し、インポート先の SQL Server 資格情報を指定します。Specify the new database size (usually the same as origin) and provide the destination SQL Server credentials. 新しい Azure SQL データベースに使用できる値の一覧については、データベースの作成に関するページをご覧ください。For a list of possible values for a new Azure SQL database, see Create Database.

    データベース インポート 2

  4. Click OK.Click OK.

  5. インポートの進行状況を監視するには、データベースのサーバー ページを開き、 [設定] の下にある [インポート/エクスポート履歴] を選択します。To monitor an import's progress, open the database's server page, and, under Settings, select Import/Export history. 成功すると、インポートは完了状態になります。When successful, the import has a Completed status.

    データベース インポートの状態

  6. データベースがデータベース サーバー上で稼働していることを確認するには、 [SQL データベース] を選択し、新しいデータベースが [オンライン] であることを確認します。To verify the database is live on the database server, select SQL databases and verify the new database is Online.

SqlPackage を使用して BACPAC ファイルからインポートするImport from a BACPAC file using SqlPackage

SqlPackage コマンドライン ユーティリティを使用して SQL Server データベースをインポートするには、「インポート パラメーターとプロパティ」をご覧ください。To import a SQL Server database using the SqlPackage command-line utility, see import parameters and properties. SqlPackage には、最新の SQL Server Management StudioSQL Server Data Tools for Visual Studio が含まれています。SqlPackage has the latest SQL Server Management Studio and SQL Server Data Tools for Visual Studio. 最新の SqlPackage は、Microsoft ダウンロード センターからダウンロードすることもできます。You can also download the latest SqlPackage from the Microsoft download center.

スケールとパフォーマンスのために、ほとんどの運用環境では、Azure portal の使用ではなく SqlPackage の使用をお勧めします。For scale and performance, we recommend using SqlPackage in most production environments rather than using the Azure portal. BACPAC ファイルを使用した移行に関する SQL Server Customer Advisory Team のブログについては、「Migrating from SQL Server to Azure SQL Database using BACPAC Files (BACPAC ファイルを使用した SQL Server から Azure SQL Database への移行)」をご覧ください。For a SQL Server Customer Advisory Team blog about migrating using BACPAC files, see migrating from SQL Server to Azure SQL Database using BACPAC Files.

スケールとパフォーマンスを考慮して、ほとんどの運用環境では SqlPackage の使用をお勧めします。For scale and performance, we recommend using SqlPackage in most production environments. BACPAC ファイルを使用した移行に関する SQL Server Customer Advisory Team のブログについては、「Migrating from SQL Server to Azure SQL Database using BACPAC Files (BACPAC ファイルを使用した SQL Server から Azure SQL Database への移行)」を参照してください。For a SQL Server Customer Advisory Team blog about migrating using BACPAC files, see Migrating from SQL Server to Azure SQL Database using BACPAC Files.

次の SqlPackage コマンドにより、AdventureWorks2008R2 データベースが、ローカル ストレージから mynewserver20170403 という Azure SQL Database サーバーにインポートされます。The following SqlPackage command imports the AdventureWorks2008R2 database from local storage to an Azure SQL Database server called mynewserver20170403. Premium サービス層と P6 サービス オブジェクトがある myMigratedDatabase という新しいデータベースが作成されます。It creates a new database called myMigratedDatabase with a Premium service tier and a P6 Service Objective. これらの値は、お使いの環境に合わせて変更してください。Change these values as appropriate for your environment.

SqlPackage.exe /a:import /tcs:"Data Source=mynewserver20170403.database.windows.net;Initial Catalog=myMigratedDatabase;User Id=<your_server_admin_account_user_id>;Password=<your_server_admin_account_password>" /sf:AdventureWorks2008R2.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

重要

企業のファイアウォールの外側から単一のデータベースを管理している SQL Database サーバーに接続するには、そのファイアウォールでポート 1433 が開かれている必要があります。To connect to a SQL Database server managing a single database from behind a corporate firewall, the firewall must have port 1433 open. マネージド インスタンスに接続するには、ポイント対サイト接続または Express Route 接続が使用できる必要があります。To connect to a managed instance, you must have a point-to-site connection or an express route connection.

この例では、SqlPackage と Active Directory ユニバーサル認証を使用してデータベースをインポートする方法を示します。This example shows how to import a database using SqlPackage with Active Directory Universal Authentication.

SqlPackage.exe /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

PowerShell を使用して BACPAC ファイルから単一データベースにインポートするImport into a single database from a BACPAC file using PowerShell

注意

マネージド インスタンスでは現在、Azure PowerShell を使用した BACPAC ファイルからインスタンス データベースへのデータベースの移行はサポートされていません。A managed instance does not currently support migrating a database into an instance database from a BACPAC file using Azure PowerShell. マネージド インスタンスにインポートするには、SQL Server Management Studio または SQLPackage を使用します。To import into a managed instance, use SQL Server Management Studio or SQLPackage.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. これらのコマンドレットについては、「AzureRM.Sql」を参照してください。For these cmdlets, see AzureRM.Sql. Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

New-AzSqlDatabaseImport コマンドレットを使用して、Azure SQL Database サービスにデータベースのインポート要求を送信します。Use the New-AzSqlDatabaseImport cmdlet to submit an import database request to the Azure SQL Database service. データベースのサイズによって、インポートが完了するまでに時間がかかる場合があります。Depending on database size, the import may take some time to complete.

$importRequest = New-AzSqlDatabaseImport 
   -ResourceGroupName "<your_resource_group>" `
   -ServerName "<your_server>" `
   -DatabaseName "<your_database>" `
   -DatabaseMaxSizeBytes "<database_size_in_bytes>" `
   -StorageKeyType "StorageAccessKey" `
   -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName "<your_resource_group>" -StorageAccountName "<your_storage_account").Value[0] `
   -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
   -Edition "Standard" `
   -ServiceObjectiveName "P6" `
   -AdministratorLogin "<your_server_admin_account_user_id>" `
   -AdministratorLoginPassword $(ConvertTo-SecureString -String "<your_server_admin_account_password>" -AsPlainText -Force)

インポートの進行状況を確認するには、Get-AzSqlDatabaseImportExportStatus コマンドレットを使用できます。You can use the Get-AzSqlDatabaseImportExportStatus cmdlet to check the import's progress. 要求直後にこのコマンドレットを実行すると、通常は、 Status :InProgress が返されます。Running the cmdlet immediately after the request usually returns Status: InProgress. Status :Succeeded が表示された場合、インポートは完了しています。The import is complete when you see Status: Succeeded.

$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write("Importing")
while ($importStatus.Status -eq "InProgress")
{
    $importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
    [Console]::Write(".")
    Start-Sleep -s 10
}
[Console]::WriteLine("")
$importStatus

ヒント

別のスクリプト例については、「データベースを BACPAC ファイルからインポートする」を参照してください。For another script example, see Import a database from a BACPAC file.

制限事項Limitations

エラスティック プール内のデータベースへのインポートはサポートされていません。Importing to a database in elastic pool isn't supported. データを単一データベースにインポートしてから、そのデータベースをエラスティック プールに移動することはできます。You can import data into a single database and then move the database to an elastic pool.

ウィザードを使用したインポートImport using wizards

次のウィザードも利用できます。You can also use these wizards.

次の手順Next steps