DAC を使用したデータベースの配置Deploy a Database By Using a DAC

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

のインスタンスと サーバー間、または 2 つの データベース エンジンDatabase Engine サーバー間でデータベースを配置するには、 Azure SQL データベースAzure SQL Database SQL Azure へのデータベースの配置ウィザード Azure SQL データベースAzure SQL Databaseを使用します。Use the Deploy a Database to SQL Azure Wizard to deploy a database between an instance of the データベース エンジンDatabase Engine and a Azure SQL データベースAzure SQL Database server, or between two Azure SQL データベースAzure SQL Databaseservers.

はじめにBefore You Begin

このウィザードでは、データ層アプリケーション (DAC) の BACPAC アーカイブ ファイルを使用して、データおよびデータベース オブジェクトの定義を配置します。The wizard uses a Data-tier Application (DAC) BACPAC archive file to deploy both the data and the definitions of database objects. ウィザードでは、ソース データベースからの DAC エクスポート操作と、配置先への DAC インポート操作を実行します。It performs a DAC export operation from the source database, and a DAC import to the destination.

データベースのオプションと設定Database Options and Settings

既定では、配置中に作成されるデータベースには、CREATE DATABASE ステートメントの既定の設定が適用されます。By default, the database created during the deployment will have the default settings from the CREATE DATABASE statement. ただし、データベースの照合順序と互換性レベルはソース データベースの値に設定されます。The exception is that the database collation and compatibility level are set to the values from the source database.

TRUSTWORTHY、DB_CHAINING、HONOR_BROKER_PRIORITY などのデータベース オプションは、配置プロセスで調整できません。Database options, such as TRUSTWORTHY, DB_CHAINING and HONOR_BROKER_PRIORITY, cannot be adjusted as part of the deployment process. ファイル グループの数、ファイルの数やサイズなどの物理プロパティは、配置作業中に変更することはできません。Physical properties, such as the number of filegroups, or the numbers and sizes of files cannot be altered as part of the deployment process. 配置が完了すれば、ALTER DATABASE ステートメント、 SQL Server Management StudioSQL Server Management Studio、または SQL ServerSQL Server PowerShell を使用して、データベースを調整できます。After the deployment completes, you can use the ALTER DATABASE statement, SQL Server Management StudioSQL Server Management Studio, or SQL ServerSQL Server PowerShell to tailor the database.

制限事項と制約事項Limitations and Restrictions

データベース配置 ウィザードでサポートされるデータベースの配置は次のとおりです。The Deploy Database wizard supports deploying a database:

  • データベース エンジンDatabase Engine のインスタンスから Azure SQL データベースAzure SQL DatabaseFrom an instance of the データベース エンジンDatabase Engine to Azure SQL データベースAzure SQL Database.

  • Azure SQL データベースAzure SQL Database から データベース エンジンDatabase EngineのインスタンスFrom Azure SQL データベースAzure SQL Database to an instance of the データベース エンジンDatabase Engine.

  • 2 つの Azure SQL データベースAzure SQL Database サーバー間Between two Azure SQL データベースAzure SQL Database servers.

データベース エンジンDatabase Engineの 2 つのインスタンス間でのデータベースの配置はサポートされません。The wizard does not support deploying databases between two instances of the データベース エンジンDatabase Engine.

ウィザードを使用するには、 データベース エンジンDatabase Engine のインスタンスで SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) 以降を実行している必要があります。An instance of the データベース エンジンDatabase Engine must be running SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) or later to work with the wizard. データベース エンジンDatabase Engine のインスタンス上のデータベースに Azure SQL データベースAzure SQL Databaseでサポートされていないオブジェクトが含まれている場合、ウィザードを使用して Azure SQL データベースAzure SQL Databaseにデータベースを配置することはできません。If a database on an instance of the データベース エンジンDatabase Engine contains objects not supported on Azure SQL データベースAzure SQL Database, you cannot use the wizard to deploy the database to Azure SQL データベースAzure SQL Database. また、 Azure SQL データベースAzure SQL Database 上のデータベースに SQL ServerSQL Serverでサポートされていないオブジェクトが含まれている場合、ウィザードを使用して SQL ServerSQL Serverのインスタンスにデータベースを配置することはできません。If a database on Azure SQL データベースAzure SQL Database contains objects not supported by SQL ServerSQL Server, you cannot use the wizard to deploy the database to instances of SQL ServerSQL Server.

セキュリティSecurity

セキュリティを強化するために、SQL Server 認証のログインは、パスワードなしで DAC BACPAC ファイルに格納されます。To improve security, SQL Server Authentication logins are stored in a DAC BACPAC file without a password. BACPAC をインポートすると、ログインはパスワードが生成された無効なログインとして作成されます。When the BACPAC is imported, the login is created as a disabled login with a generated password. ログインを有効にするには、ALTER ANY LOGIN 権限を持つユーザーとしてログインし、ALTER LOGIN を使用してログインを有効にします。さらに、新しいパスワードを割り当て、そのパスワードを該当ユーザーに通知します。To enable the logins, log in using a login that has ALTER ANY LOGIN permission and use ALTER LOGIN to enable the login and assign a new password that can be communicated to the user. Windows 認証ログインの場合、ログインのパスワードは SQL Server で管理されていないため、この操作は必要ありません。This is not needed for Windows Authentication logins because their passwords are not managed by SQL Server.

アクセス許可Permissions

ウィザードでは、ソース データベースに対する DAC エクスポート権限が必要となります。The wizard requires DAC export permissions on the source database. ログインには、ALTER ANY LOGIN 権限とデータベース スコープの VIEW DEFINITION 権限、および sys.sql_expression_dependenciesに対する SELECT 権限が少なくとも必要です。The login requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, as well as SELECT permissions on sys.sql_expression_dependencies. DAC をエクスポートできるのは、DAC をエクスポートするデータベースの database_owner 固定データベース ロールのメンバーでもある、securityadmin 固定サーバー ロールのメンバーです。Exporting a DAC can be done by members of the securityadmin fixed server role who are also members of the database_owner fixed database role in the database from which the DAC is exported. sysadmin 固定サーバー ロールのメンバーまたは sa という組み込みの SQL Server システム管理者アカウントも DAC をエクスポートできます。Members of the sysadmin fixed server role or the built-in SQL Server system administrator account named sa can also export a DAC.

ウィザードでは、配置先インスタンスまたはサーバーに対する DAC インポート権限が必要となります。The wizard requires DAC import permissions on the destination instance or server. ログインは、 sysadmin または serveradmin 固定サーバー ロールのメンバーであるか、 dbcreator 固定サーバー ロールに属し、ALTER ANY LOGIN 権限を持っている必要があります。The login must be a member of the sysadmin or serveradmin fixed server roles, or in the dbcreator fixed server role and have ALTER ANY LOGIN permissions. あらかじめ登録された SQL ServerSQL Server システム管理者アカウント ( sa ) も DAC をインポートできます。The built-in SQL ServerSQL Server system administrator account named sa can also import a DAC. SQL DatabaseSQL Database へのログインが含まれる DAC をインポートするには、loginmanager ロールまたは serveradmin ロールのメンバーシップが必要です。Importing a DAC with logins to SQL DatabaseSQL Database requires membership in the loginmanager or serveradmin roles. SQL DatabaseSQL Database へのログインが含まれない DAC をインポートするには、dbmanager ロールまたは serveradmin ロールのメンバーシップが必要です。Importing a DAC without logins to SQL DatabaseSQL Database requires membership in the dbmanager or serveradmin roles.

データベース配置ウィザードの使用Using the Deploy Database Wizard

データベース配置ウィザードを使用してデータベースを移行するにはTo migrate a database using the Deploy Database Wizard

  1. データベースの配置先に接続します。Connect to the location of the database you want to deploy. データベース エンジンDatabase Engine のインスタンスまたは Azure SQL データベースAzure SQL Database サーバーを指定できます。You can specify either an instance of データベース エンジンDatabase Engine or a Azure SQL データベースAzure SQL Database server.

  2. オブジェクト エクスプローラーで、データベースがあるインスタンスのノードを展開します。In Object Explorer, expand the node for the instance that has the database.

  3. [データベース] ノードを展開します。Expand the Databases node.

  4. 配置するデータベースを右クリックして [タスク] を選択し、 [SQL Azure へのデータベースの配置...] をクリックします。Right click the database you want to deploy, select Tasks, and then select Deploy Database to SQL Azure...

  5. ウィザードの各ダイアログを完了します。Complete the Wizard dialogs:

[説明] ページIntroduction Page

このページには、 データベース配置 ウィザードの手順が示されています。This page describes the steps for the Deploy Database Wizard.

[オプション]Options

  • [次回からこのページを表示しない]Do not show this page again. : 今後 [説明] ページを表示しないようにするには、このチェック ボックスをオンにします。- Click the check box to stop the Introduction page from being displayed in the future.

  • [次へ] : [配置設定] ページに進みます。Next - Proceeds to the Deployment Settings page.

  • [キャンセル] : 操作を取り消し、ウィザードを閉じます。Cancel - Cancels the operation and closes the Wizard.

[配置設定] ページDeployment Settings Page

このページを使用して、配置先サーバーと、新しいデータベースの詳細を指定します。Use this page to specify the destination server and to provide details about your new database.

[ローカル ホスト]Local host:

  • [サーバー接続] : サーバー接続の詳細を指定し、 [接続] をクリックして接続を検証します。Server connection - Specify server connection details and then click Connect to verify the connection.

  • [新しいデータベース名] : 新しいデータベースの名前を指定します。New database name - Specify a name for the new database.

SQL DatabaseSQL Database データベースの設定:SQL DatabaseSQL Database database settings:

  • SQL DatabaseSQL Database のエディション: SQL DatabaseSQL Database のエディションをドロップダウン メニューから選択します。SQL DatabaseSQL Database edition - Select the edition of SQL DatabaseSQL Database from the drop-down menu.

  • [データベースの最大サイズ (GB)] : データベースの最大サイズをドロップダウン メニューから選択します。Maximum database size - Select the maximum database size from the drop-down menu.

その他の設定:Other settings:

  • 一時ファイル (BACPAC アーカイブ ファイル) のローカル ディレクトリを指定します。Specify a local directory for the temporary file, which is the BACPAC archive file. このファイルは指定した場所に作成され、操作の完了後もそのまま残されます。Note that the file will be created at the specified location and will remain there after the operation completes.

[概要] ページSummary Page

このページを使用すると、操作の指定ソースとターゲットの設定を確認できます。Use this page to review the specified source and target settings for the operation. 指定した設定で配置操作を実行するには、 [完了] をクリックします。To complete the deploy operation using the specified settings, click Finish. 配置操作をキャンセルしてウィザードを終了するには、 [キャンセル] をクリックします。To cancel the deploy operation and exit the Wizard, click Cancel.

[進行状況] ページProgress Page

このページには、操作の進行状況を示す進行状況バーが表示されます。This page displays a progress bar that indicates the status of the operation. 詳細な状態を表示するには、 [詳細表示] をクリックします。To view detailed status, click the View details option.

[結果] ページResults Page

このページでは、配置操作の成功と失敗が報告され、各アクションの結果が示されます。This page reports the success or failure of the deploy operation, showing the results of each action. エラーが発生したアクションには、 [結果] 列にリンクが表示されます。Any action that encountered an error will have a link in the Result column. そのアクションのエラーのレポートを表示するには、リンクをクリックします。Click the link to view a report of the error for that action.

[完了] をクリックして、ウィザードを終了します。Click Finish to close the Wizard.

.Net Framework アプリケーションの使用Using a .Net Framework Application

.Net Framework アプリケーションで DacStoreExport() メソッドおよび Import() メソッドを使用してデータベースを配置するにはTo deploy a database using the DacStoreExport() and Import() methods in a .Net Framework application.

コード例を参照するには、 Codeplex上の DAC サンプル アプリケーションをダウンロードしてください。To view a code example, download the DAC sample application on Codeplex

  1. SMO サーバー オブジェクトを作成し、配置するデータベースがあるインスタンスまたはサーバーに設定します。Create a SMO Server object and set it to the instance or server that contains the database to be deployed.

  2. ServerConnection オブジェクトを開いて、同じインスタンスに接続します。Open a ServerConnection object and connect to the same instance.

  3. Microsoft.SqlServer.Management.Dac.DacStore 型の Export メソッドを使用して、データベースを BACPAC ファイルにエクスポートします。Use the Export method of the Microsoft.SqlServer.Management.Dac.DacStore type to export the database to a BACPAC file. エクスポートするデータベースの名前と、BACPAC ファイルの出力先となるフォルダーのパスを指定します。Specify the name of the database to be exported, and the path to the folder where the BACPAC file is to be placed.

  4. SMO サーバー オブジェクトを作成し、配置先インスタンスまたはサーバーに設定します。Create a SMO Server object and set it to the destination instance or server.

  5. ServerConnection オブジェクトを開いて、同じインスタンスに接続します。Open a ServerConnection object and connect to the same instance.

  6. Microsoft.SqlServer.Management.Dac.DacStore 型の Import メソッドを使用して、BACPAC をインポートします。Use the Import method of the Microsoft.SqlServer.Management.Dac.DacStore type to import the BACPAC. エクスポートによって作成された BACPAC ファイルを指定します。Specify the BACPAC file created by the export.

参照See Also

データ層アプリケーション Data-tier Applications
データ層アプリケーションのエクスポート Export a Data-tier Application
BACPAC ファイルのインポートによる新しいユーザー データベースの作成Import a BACPAC File to Create a New User Database