次の方法で共有


Windows 上で SSMS または SqlPackage.exe を使用して Linux 上でデータベースをエクスポートおよびインポートする

適用対象: SQL Server - Linux

この記事では、SQL Server Management Studio (SSMS) と SqlPackage を使用して SQL Server on Linux 上でデータベースをエクスポートおよびインポートする方法について説明します。 SSMS と SqlPackage.exe は Windows アプリケーションなので、Linux 上のリモート SQL Server インスタンスに接続できる Windows マシンがある場合は、この手法を使用します。

Windows で SQL Server Management Studio を使用して SQL Server on Linux を管理する」の説明のとおりに、常に SSMS の最新バージョンをインストールして使用する必要があります。

ある SQL Server インスタンスから別の SQL Server インスタンスにデータベースを移行する場合の詳細については、「バックアップと復元を使用して SQL Server データベースを Windows から Linux に移行する」を参照してください。

SSMS を使用してデータベースをエクスポートする

  1. Windows の検索ボックスに「Microsoft SQL Server Management Studio」と入力して SSMS を起動し、デスクトップ アプリを選択します。

    SQL Server Management Studio のスクリーンショット。

  2. オブジェクト エクスプローラーでソース データベースに接続します。 オンプレミスまたはクラウドの Linux、Windows、または Docker で実行されている Microsoft SQL Server、および Azure SQL データベースまたは Azure Synapse Analytics のソース データベースを使用できます。

  3. オブジェクト エクスプローラーでソース データベースを右クリックし、[タスク] をポイントして、[データ層アプリケーションのエクスポート] をクリックします。

  4. エクスポート ウィザードで [次へ] を選び、[設定] タブで、BACPAC ファイルをローカル ディスクの場所または Azure BLOB に保存するようにエクスポートを構成します。

  5. 既定では、データベース内のすべてのオブジェクトがエクスポートされます。 [詳細設定] タブを選び、エクスポートするデータベース オブジェクトを選びます。

  6. [次へ] を選び、[完了] を選びます。

.bacpac ファイルが選択した場所に正常に作成され、ターゲット データベースにインポートする準備が整います。

SSMS を使用してデータベースをインポートする

  1. Windows の検索ボックスに「Microsoft SQL Server Management Studio」と入力して SSMS を起動し、デスクトップ アプリを選択します。

    再度の SQL Server Management Studio のスクリーンショット。

  2. オブジェクト エクスプローラーでターゲット サーバーに接続します。 オンプレミスまたはクラウドの Linux、Windows、または Docker で実行されている Microsoft SQL Server、および Azure SQL データベースまたは Azure Synapse Analytics のターゲット サーバーを使用できます。

  3. オブジェクト エクスプローラーで Databases フォルダーを右クリックし、[データ層アプリケーションのインポート] を選択します。

  4. ターゲット サーバーにデータベースを作成するには、ローカル ディスクから BACPAC ファイルを指定するか、BACPAC ファイルをアップロードした Azure ストレージ アカウントとコンテナーを選択します。

  5. データベースの新しいデータベース名を指定します。 Azure SQL Database にデータベースをインポートする場合は、[Microsoft Azure SQL Database のエディション] (サービス レベル)、[データベースの最大サイズ]、および [サービスの目標] (パフォーマンス レベル) を設定します。

  6. [次へ] を選び、[完了] を選んで、ターゲット サーバーの新しいデータベースに BACPAC ファイルをインポートします。

.bacpac ファイルがインポートされ、指定したターゲット サーバーに新しいデータベースが作成されます。

SqlPackage のコマンドライン オプション

また、SQL Server Data Tools (SSDT) コマンドライン ツールである SqlPackage を使用して、BACPAC ファイルをエクスポートおよびインポートすることもできます。

次のコマンド例では、BACPAC ファイルをエクスポートします。

SqlPackage.exe /a:Export /ssn:tcp:<your_server> /sdn:<your_database> /su:<username> /sp:<password> /tf:<path_to_bacpac>

.bacpac ファイルからデータベース スキーマとユーザー データをインポートするには、次のコマンドを使用します。

SqlPackage.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>