適用対象:Linux 上の SQL Server
この記事では、SQL Server Management Studio (SSMS) および SqlPackage を使用してSQL Server on Linuxにデータベースをエクスポートおよびインポートする方法について説明します。 SSMS と SqlPackage.exe はWindowsアプリケーションであるため、Linux 上のリモート SQL Server インスタンスに接続できるWindows マシンがある場合は、この手法を使用します。
SQL Server Management Studio を使用して Windows で Linux 上の SQL Server を管理する方法についてはを参照しているように、常に最新バージョンの SSMS をインストールして使用する必要があります。
データベースをあるSQL Server インスタンスから別のインスタンスに移行する方法については、「バックアップと復元を使用してSQL ServerデータベースをWindowsから Linux に移行するを参照してください。
SSMS を使用してデータベースをエクスポートする
Windows検索ボックスに「Microsoft SQL Server Management Studio」と入力して SSMS を起動し、デスクトップ アプリを選択します。
Object Explorerでソース データベースに接続します。 ソースデータベースは、オンプレミスまたはクラウドで実行されるMicrosoft SQL Serverとして、Linux、Windows、Docker上またはAzure SQL DatabaseやAzure Synapse Analyticsで使用可能です。
Object Explorerでソース データベースを右クリックし、Tasks をポイントし、Export Data-Tier Application... を選択します。
エクスポート ウィザードで Next を選択し、Settings タブで、BACPAC ファイルをローカル ディスクの場所またはAzure BLOB に保存するようにエクスポートを構成します。
既定では、データベース内のすべてのオブジェクトがエクスポートされます。 [詳細設定] タブを選び、エクスポートするデータベース オブジェクトを選びます。
[次へ] を選び、[完了] を選びます。
.bacpac ファイルが選択した場所に正常に作成され、ターゲット データベースにインポートする準備が整います。
SSMS を使用してデータベースをインポートする
Windows検索ボックスに「Microsoft SQL Server Management Studio」と入力して SSMS を起動し、デスクトップ アプリを選択します。
Object Explorerでターゲット サーバーに接続します。 ターゲット サーバーは、オンプレミスまたはクラウド、Linux、Windows、または Docker で実行Microsoft SQL Server、Azure SQL DatabaseまたはAzure Synapse Analyticsできます。
Object Explorerの Databases フォルダーを右クリックし、データ層アプリケーションのインポート...
ターゲット サーバーにデータベースを作成するには、ローカル ディスクから BACPAC ファイルを指定するか、BACPAC ファイルをアップロードしたAzureストレージ アカウントとコンテナーを選択します。
データベースの新しいデータベース名を指定します。 Azure SQL Databaseにデータベースをインポートする場合は、Microsoft Azure SQL Database (サービス レベル)、最大データベース サイズ、およびサービス目標 (パフォーマンス レベル) のエディションを設定します。
[次へ] を選び、[完了] を選んで、ターゲット サーバーの新しいデータベースに 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>