データ層アプリケーションの配置Deploy a Data-tier Application

ウィザードまたは PowerShell スクリプトを使用して、データ層アプリケーション (DAC) パッケージからデータベース エンジンDatabase Engineまたは SQL DatabaseSQL Database の既存のインスタンスに DAC を配置できます。You can deploy a data-tier application (DAC) from a DAC package to an existing instance of the データベース エンジンDatabase Engine or SQL DatabaseSQL Database by using a wizard or a PowerShell script. 配置プロセスでは、 msdb システム データベース (では master SQL DatabaseSQL Databaseデータベース) に DAC 定義を格納することで DAC インスタンスを登録し、データベースを作成して、DAC で定義されたすべてのデータベース オブジェクトをそのデータベースに設定します。The deployment process registers a DAC instance by storing the DAC definition in the msdb system database (master in SQL DatabaseSQL Database), creates a database, and then populates the database with all the database objects defined in the DAC.

はじめにBefore You Begin

同じ DAC パッケージを データベース エンジンDatabase Engine の単一のインスタンスに複数回配置することはできますが、配置は一度に 1 つずつ実行する必要があります。The same DAC package can be deployed to a single instance of the データベース エンジンDatabase Engine multiple times, however the deployments must be run one at a time. 各配置に指定される DAC インスタンス名は、 データベース エンジンDatabase Engineのインスタンス内で一意である必要があります。The DAC instance name specified for each deployment must be unique within the instance of the データベース エンジンDatabase Engine.

SQL Server ユーティリティSQL Server Utility

データベース エンジンのマネージド インスタンスに DAC を配置した場合、その配置した DAC は、次回ユーティリティ コレクション セットがインスタンスからユーティリティ コントロール ポイントへと送信されるときに SQL Server ユーティリティに組み込まれます。If you deploy a DAC to a managed instance of the Database Engine, the deployed DAC is incorporated into the SQL Server Utility the next time the utility collection set is sent from the instance to the utility control point. その後、DAC は Management StudioManagement Studio ユーティリティ エクスプローラー配置されたデータ層アプリケーション ノードに現れるようになり、配置されたデータ層アプリケーション の詳細ページで報告されます。The DAC will then be present in the Deployed Data-tier Applications node of the Management StudioManagement Studio Utility Explorer and reported in the Deployed Data-tier Applications details page.

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

既定では、配置中に作成されたデータベースには、CREATE DATABASE ステートメントによる既定の設定すべてが適用されます。ただし、次の設定は除きます。By default, the database created during the deployment will have all of the default settings from the CREATE DATABASE statement, except:

  • データベースの照合順序および互換性レベルは、DAC パッケージで定義された値に設定されます。The database collation and compatibility level are set to the values defined in the DAC package. SQL Server 開発者ツールでデータベース プロジェクトから構築された DAC パッケージでは、データベース プロジェクトに設定された値が使用されます。A DAC package built from a database project in the SQL Server Developer Tools uses the values set in the database project. 既存のデータベースから抽出されたパッケージでは、元のデータベースの値が使用されます。A package extracted from an existing database uses the values from the original database.

  • 一部のデータベース設定 (データベース名やファイル パスなど) は、 [構成の更新] ページで調整できます。You can adjust some of the database settings, such as database name and file paths, in the Update Configuration page. SQL DatabaseSQL Databaseに配置する場合、ファイル パスは設定できません。You cannot set the file paths when deploying to SQL DatabaseSQL Database.

TRUSTWORTHY、DB_CHAINING、HONOR_BROKER_PRIORITY など、データベース オプションによっては、配置作業中の調整はできない場合があります。Some 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

DAC を配置できるのは、 SQL DatabaseSQL Database、または データベース エンジンDatabase Engine Service Pack 4 (SP4) 以降を実行している SQL Server 2005SQL Server 2005 インスタンスです。A DAC can be deployed to SQL DatabaseSQL Database, or an instance of the データベース エンジンDatabase Engine running SQL Server 2005SQL Server 2005 Service Pack 4 (SP4) or later. 新しいバージョンを使用して DAC を作成した場合、 SQL Server 2005SQL Server 2005ではサポートされないオブジェクトが DAC に含まれている可能性があります。If you create a DAC using a later version, the DAC may contain objects not supported by SQL Server 2005SQL Server 2005. このような DAC を SQL Server 2005SQL Server 2005のインスタンスに配置することはできません。You cannot deploy those DACs to instances of SQL Server 2005SQL Server 2005.

前提条件Prerequisites

ソースが不明または信頼されていない DAC パッケージは配置しないことをお勧めします。We recommend that you do not deploy a DAC package from unknown or untrusted sources. こうしたパッケージには、意図しない Transact-SQL コードを実行したり、スキーマを変更してエラーを発生したりする、悪意のあるコードが含まれている可能性があります。Such packages could contain malicious code that might execute unintended Transact-SQL code or cause errors by modifying the schema. パッケージのソースが不明または信頼されていない場合は、使用する前に、DAC をアンパックして、ストアド プロシージャやその他のユーザー定義コードなどのコードもご確認ください。Before you use a package from an unknown or untrusted source, unpack the DAC and examine the code, such as stored procedures or other user-defined code. これらのチェックの実行方法の詳細については、「 Validate a DAC Package」をご覧ください。For more information about how to perform these checks, see Validate a DAC Package.

セキュリティSecurity

セキュリティを強化するために、SQL Server 認証のログインは、パスワードなしで DAC パッケージに格納されます。To improve security, SQL Server Authentication logins are stored in a DAC package without a password. パッケージが配置またはアップグレードされると、ログインは、生成されたパスワードを伴う無効なログインとして作成されます。When the package is deployed or upgraded, 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.

PermissionsPermissions

DAC を配置できるのは、 sysadmin または serveradmin 固定サーバー ロールのメンバーか、 dbcreator 固定サーバー ロールに存在する ALTER ANY LOGIN 権限を持つログインのみです。A DAC can only be deployed by members of the sysadmin or serveradmin fixed server roles, or by logins that are 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 deploy a DAC. SQL DatabaseSQL Database へのログインが含まれる DAC を配置するには、loginmanager ロールまたは serveradmin ロールのメンバーシップが必要です。Deploying a DAC with logins to SQL DatabaseSQL Database requires membership in the loginmanager or serveradmin roles. SQL DatabaseSQL Database へのログインが含まれない DAC を配置するには、dbmanager ロールまたは serveradmin ロールのメンバーシップが必要です。Deploying a DAC without logins to SQL DatabaseSQL Database requires membership in the dbmanager or serveradmin roles.

使用して、データ層アプリケーションのウィザードの展開Using the Deploy Data-tier Application Wizard

ウィザードを使用して DAC を配置するにはTo Deploy a DAC Using a Wizard

  1. オブジェクト エクスプローラーで、DAC を配置するインスタンスのノードを展開します。In Object Explorer, expand the node for the instance to which you want to deploy the DAC.

  2. [データベース] ノードを右クリックし、 [データ層アプリケーションの配置] をクリックします。Right-click the Databases node, then select Deploy Data-tier Application...

  3. ウィザードの各ダイアログの手順を実行します。Complete the wizard dialogs:

[説明] ページIntroduction Page

このページでは、データ層アプリケーションを配置する手順について説明します。This page describes the steps for deploying a data-tier application.

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

[次へ >] : [DAC パッケージの選択] ページに進みます。Next > - Proceeds to the Select DAC Package page.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying a DAC.

DAC パッケージ ページを選択します。Select DAC Package Page

このページでは、配置するデータ層アプリケーションを含む DAC パッケージを指定できます。Use this page to specify the DAC package that contains the data-tier application to be deployed. このページは、3 つの状態を遷移します。The page transitions through three states.

DAC パッケージの選択Select the DAC Package

ページの初期状態では、配置する DAC パッケージを選択します。Use the initial state of the page to choose the DAC package to deploy. DAC パッケージは有効な DAC パッケージ ファイルで、拡張子は .dacpac である必要があります。The DAC package must be a valid DAC package file and must have a .dacpac extension.

[DAC パッケージ] : 配置するデータ層アプリケーションを含む DAC パッケージのパスとファイル名を指定します。DAC Package - Specify the path and file name of the DAC package that contains the data-tier application to be deployed. ボックスの右にある [参照] をクリックして、DAC パッケージの場所に移動することができます。You can select the Browse button at the right of the box to browse to the location of the DAC package.

[アプリケーション名] : DAC が作成されたとき、またはデータベースから抽出されたときに割り当てられた DAC 名が表示される読み取り専用のボックスです。Application Name - A read-only box that displays the DAC name assigned when the DAC was authored or extracted from a database.

[バージョン] : DAC が作成されたとき、またはデータベースから抽出されたときに割り当てられたバージョンが表示される読み取り専用のボックスです。Version - A read-only box that displays the version assigned when the DAC was authored or extracted from a database.

[説明] : DAC が作成されたとき、またはデータベースから抽出されたときに記述された説明が表示される読み取り専用のボックスです。Description - A read-only box that displays the description written when the DAC was authored or extracted from a database.

< [戻る] : 概要 ページに進みます。< Previous - Returns to the Introduction page.

[次へ] : 選択したファイルが有効な DAC パッケージかどうかが確認され、進捗状況バーが表示されます。Next > - Displays a progress bar as the wizard confirms that the selected file is a valid DAC package.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying the DAC.

DAC パッケージの検証Validating the DAC Package

選択したファイルが有効な DAC パッケージかどうかが確認され、進捗状況バーが表示されます。Displays a progress bar as the wizard confirms that the selected file is a valid DAC package. DAC パッケージが検証されると、 [DAC パッケージの選択] ページの最終状態に進み、検証の結果を確認できます。If the DAC package is validated, the wizard proceeds to the final version of the Select Package page where you can review the results of the validation. ファイルが有効な DAC パッケージでない場合は、 [DAC パッケージの選択] が表示されたままになります。If the file is not a valid DAC package, the wizard remains on the Select DAC Package. 別の有効な DAC パッケージを選択するか、ウィザードを取り消して新しい DAC パッケージを生成してください。Either select another valid DAC package or cancel the wizard and generate a new DAC package.

[DAC パッケージの内容を検証しています] : 検証プロセスの現在の状態を示す進捗状況バーです。Validating the contents of the DAC - The progress bar that reports the current status of the validation process.

< 以前-の初期状態に戻り、パッケージの選択ページ。< Previous - Returns to the initial state of the Select Package page.

[次へ >] : [パッケージの選択] ページの最終状態に進みます。Next > - Proceeds to the final version of the Select Package page.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying the DAC.

[ポリシーの確認] ページReview Policy Page

このページでは、DAC にポリシーが含まれている場合に DAC サーバーの選択ポリシーを評価した結果を確認します。Use this page to review the results of evaluating the DAC server selection policy, if the DAC has a policy. DAC サーバーの選択ポリシーは、省略可能で、Visual Studio で DAC を作成するときに割り当てられます。The DAC server selection policy is optional, and is assigned to the DAC when it is created in Visual Studio. このポリシーでは、サーバーの選択ポリシーのファセットを使用して、 データベース エンジンDatabase Engine のインスタンスで DAC をホストするために満たす必要がある条件を指定します。The policy uses the server selection policy facets to specify conditions an instance of the データベース エンジンDatabase Engine should meet to host the DAC.

[ポリシー条件の評価結果] : DAC 配置ポリシーの条件が満たされたかどうかを示す読み取り専用のレポートです。Evaluation results of policy conditions - A read-only report showing whether the conditions of the DAC deployment policy succeeded. 各条件の評価結果が、レポートの各行に表示されます。The results of evaluating each condition are reported on a separate line.

サーバーの選択ポリシー (オペレーティング システムのバージョン、言語、名前付きパイプの有効化、プラットフォーム、および TCP の有効化) は、DAC を SQL DatabaseSQL Databaseに配置する場合は常に false となります。The following server selection policies always evaluate to false when deploying a DAC to SQL DatabaseSQL Database: operating system version, language, named pipes enabled, platform, and tcp enabled.

[ポリシー違反を無視します] : ポリシー条件が満たされていない場合に配置を続行するには、このチェック ボックスを使用します。Ignore policy violations - Use this check box to proceed with the deployment if one or more of the policy conditions failed. すべての条件が満たされていなくても DAC を正常に操作できるようにする場合のみ、このチェック ボックスをオンにしてください。Only select this option if you are sure that all of the conditions which failed will not prevent the successful operation of the DAC.

< 以前-を返します、パッケージの選択ページ。< Previous - Returns to the Select Package page.

[次へ >] : [構成の更新] ページに進みます。Next > - Proceeds to the Update Configureation page.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying the DAC.

更新プログラムの構成 ページUpdate Configuration Page

このページでは、配置された DAC インスタンスと配置によって作成されたデータベースの名前を指定し、データベース オプションを設定します。Use this page to specify the names of the deployed DAC instance and the database created by the deployment, and to set database options.

[データベース名] : 配置によって作成されるデータベースの名前を指定します。Database Name: - Specify the name of the database to be created by the deployment. 既定では、DAC の抽出元であるソース データベースの名前です。The default is the name of the source database the DAC was extracted from. この名前は、 データベース エンジンDatabase Engine のインスタンス内で一意であり、 データベース エンジンDatabase Engine 識別子のルールに従っている必要があります。The name must be unique within the instance of the データベース エンジンDatabase Engine and comply with the rules for データベース エンジンDatabase Engine identifiers.

データベース名を変更した場合、データ ファイルとログ ファイルの名前も新しいデータベース名に合わせて変更されます。If you change the database name, the names of the data file and log files will change to match the new value.

また、データベース名は、DAC インスタンスの名前としても使用されます。The database name is also used as the name of the DAC instance. インスタンス名は、 オブジェクト エクスプローラー[データ層アプリケーション] ノードまたは ユーティリティ エクスプローラー[配置済みのデータ層アプリケーション] ノードの下にある、DAC のノードに表示されます。The instance name is displayed on the node for the DAC under the Data-tier Applications node in Object Explorer, or the Deployed Data-tier Applications node in the Utility Explorer.

次のオプションは SQL DatabaseSQL Databaseには適用されず、 SQL DatabaseSQL Databaseの配置時には表示されません。The following options do not apply to SQL DatabaseSQL Database, and are not displayed when deploying to SQL DatabaseSQL Database.

[既定のデータベースの場所の使用] : データベースのデータ ファイルおよびログ ファイルを データベース エンジンDatabase Engineインスタンスの既定の場所に作成するには、このオプションを選択します。Use the default database location - Select this option to create the database data and log files in the default location for the instance of the データベース エンジンDatabase Engine. ファイル名は、データベース名を使用して作成されます。The file names will be built using the database name.

[データベース ファイルの指定] : データ ファイルおよびログ ファイルに別の場所または名前を指定するには、このオプションを選択します。Specify database files - Select this option to specify a different location or name for the data and log files.

[データ ファイルのパスと名前] : データ ファイルの完全パスとファイル名を指定します。Data file path and name: - Specify the full path and file name for the data file. このボックスには、既定のパスとファイル名が表示されます。The box is populated with the default path and file name. ボックス内の文字列を編集して既定値を変更するか、[参照] をクリックしてデータ ファイルを配置するフォルダーに移動してください。Edit the string in the box to change the default, or use the Browse button to navigate to the folder where the data file is to be placed.

[ログ ファイルのパスと名前] : ログ ファイルの完全パスとファイル名を指定します。Log file path and name: - Specify the full path and file name for the log file. このボックスには、既定のパスとファイル名が表示されます。The box is populated with the default path and file name. ボックス内の文字列を編集して既定値を変更するか、 [参照] をクリックしてログ ファイルを配置するフォルダーに移動してください。Edit the string in the box to change the default, or use the Browse button to navigate to the folder where the log file is to be placed.

< 以前-を返します、 DAC パッケージのページ。< Previous - Returns to the Select DAC Package page.

[次へ] : [概要] ページに進みます。Next > - Proceeds to the Summary page.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying the DAC.

[概要] ページSummary Page

このページでは、DAC の配置時にウィザードが行うアクションを確認します。Use this page to review the actions the wizard will take when deploying the DAC.

[次の設定を使用して DAC を配置します。]The following settings will be used to deploy your DAC. : 表示された情報を確認し、実行されるアクションが正しいかどうかを確認します。- Review the information displayed to ensure the actions taken will be correct. このウィンドウには、選択した DAC パッケージと、配置される DAC インスタンス用に選択した名前が表示されます。The window displays the DAC package you selected, and the name you selected for the deployed DAC instance. また、DAC に関連付けられたデータベースを作成する際に使用される設定も表示されます。The window also displays the settings that will be used when creating the database associated with the DAC.

< 以前-に戻り、更新の構成ページの選択を変更します。< Previous - Returns you to the Update Configuration page to change your selections.

[次へ >] : DAC を配置し、 [DAC の配置] ページに結果を表示します。Next > - Deploys the DAC and displays the results in the Deploy DAC page.

[キャンセル] : DAC を配置せずにウィザードを終了します。Cancel - Terminates the wizard without deploying the DAC.

[配置] ページDeploy Page

このページには、配置操作の成功または失敗が表示されます。This page reports the success or failure of the deploy operation.

[DAC を配置しています] : DAC を配置するために行った各アクションの成功または失敗が表示されます。Deploying the DAC - Reports the success or failure of each action taken to deploy the DAC. 内容を確認して、各アクションの成功または失敗を判断します。Review the information to determine the success or failure of each action. エラーが発生したアクションには、 [結果] 列にリンクが表示されます。Any action that encountered an error will have a link in the Result column. そのアクションのエラーのレポートを表示するには、リンクをクリックします。Select the link to view a report of the error for that action.

[レポートの保存] : 配置レポートを HTML ファイルに保存します。Save Report - Select this button to save the deployment report to an HTML file. ファイルには、アクションで発生したすべてのエラーを含む、各アクションのステータスが報告されます。The file reports the status of each action, including all errors generated by any of the actions. 既定のフォルダーは、Windows アカウントの Documents フォルダーにある SQL Server Management Studio\DAC Packages フォルダーです。The default folder is the SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account.

[完了] : ウィザードを終了します。Finish - Terminates the wizard.

PowerShell の使用Using PowerShell

PowerShell スクリプトで Install() メソッドを使用して DAC を配置するにはTo deploy a DAC using the Install() method in a PowerShell script

  1. SMO サーバー オブジェクトを作成し、DAC を配置するインスタンスに設定します。Create a SMO Server object and set it to the instance to which you want to deploy the DAC.

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

  3. System.IO.File を使用して、DAC パッケージ ファイルを読み込みます。Use System.IO.File to load the DAC package file.

  4. add_DacActionStarted および add_DacActionFinished を使用して、DAC 配置イベントをサブスクライブします。Use add_DacActionStarted and add_DacActionFinished to subscribe to the DAC deployment events.

  5. 設定、DatabaseDeploymentPropertiesします。Set the DatabaseDeploymentProperties.

  6. DacStore.Install メソッドを使用して DAC を配置します。Use the DacStore.Install method to deploy the DAC.

  7. DAC パッケージ ファイルの読み取りに使用するファイル ストリームを閉じます。Close the file stream used to read the DAC package file.

例 (PowerShell)Example (PowerShell)

次の例では、MyApplication.dacpac パッケージから DAC 定義を使用して、MyApplication という名前の DAC を データベース エンジンDatabase Engineの既定のインスタンスに配置します。The following example deploys a DAC named MyApplication on a default instance of the データベース エンジンDatabase Engine, using a DAC definition from a MyApplication.dacpac package.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  
  
## Open a Common.ServerConnection to the same instance.  
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)  
$serverconnection.Connect()  
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)  
  
## Load the DAC package file.  
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"  
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)  
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)  
  
## Subscribe to the DAC deployment events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Deploy the DAC and create the database.  
$dacName  = "MyApplication"  
$evaluateTSPolicy = $true  
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)  
$dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy)  
$fileStream.Close()  

参照See Also

[データ層アプリケーション] Data-tier Applications
データベースからの DAC の抽出 Extract a DAC From a Database
データベース識別子Database Identifiers