データ層アプリケーションの削除Delete a Data-tier Application

適用対象: ○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

データ層アプリケーションの削除ウィザードまたは Windows PowerShell スクリプトを使用して、データ層アプリケーションを削除できます。You can delete a data-tier application by using either the Delete Data-tier Application wizard or a Windows PowerShell script. 関連付けられたデータベースの保持、デタッチ、または削除を指定することができます。You can specify whether the associated database is retained, detached, or dropped.

はじめにBefore You Begin

データ層アプリケーション (DAC) インスタンスを削除する場合、3 つのオプションのいずれかを選択して、データ層アプリケーションに関連付けられたデータベースの処理を指定します。When you delete a data-tier application (DAC) instance, you choose one of three options specifying what is to be done with the database associated with the data-tier application. どのオプションを選択した場合も、DAC 定義のメタデータが削除されます。All three options delete the DAC definition metadata. 各オプションは、データ層アプリケーションに関連付けられたデータベースの処理方法が異なります。The options differ in what they do with the database associated with the data-tier application. DAC またはデータベースに関連付けられたインスタンスレベルのオブジェクト (ログインなど) が、ウィザードによって削除されることはありません。The wizard does not delete any of the instance-level objects associated with the DAC or database, such as logins.

オプションOption データベース アクションDatabase actions
登録の削除Delete registration 関連付けられているデータベースは、そのまま保持されます。The associated database remains intact.
データベースのデタッチDetach database 関連付けられたデータベースはデタッチされます。The associated database is detached. データベース エンジンのインスタンスはデータベースを参照できませんが、データ ファイルとログ ファイルはそのまま保持されます。The instance of the Database Engine cannot reference the database, but the data and log files are intact.
データベースの削除Delete database 関連付けられたデータベースは削除されます。The associated database is dropped. データ ファイルとログ ファイルも削除されます。The data and log files are deleted.

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

DAC を削除した後に DAC 定義のメタデータ、またはデータベースを自動的に復元するメカニズムはありません。There is no automatic mechanism to restore the DAC definition metadata or the database after you delete a DAC. DAC インスタンスを手動で再構築する方法は、削除オプションによって異なります。How you can manually rebuild the DAC instance depends on the delete option.

オプションOption DAC インスタンスの再構築方法How to Rebuild the DAC Instance
登録の削除Delete registration 同じ場所に残っているデータベースから DAC を登録します。Register a DAC from the database left in place.
データベースのデタッチDetach database sp_attachdb または SQL Server Management StudioSQL Server Management Studioを使用してデータベースを再アタッチして、データベースから新しい DAC インスタンスを登録します。Re-attach the database by using sp_attachdb or SQL Server Management StudioSQL Server Management Studio, and then register a new DAC instance from the database.
データベースの削除Delete database DAC が削除される前に作成された完全バックアップからデータベースを復元して、データベースから新しい DAC インスタンスを登録します。Restore the database from a full backup made before the DAC was deleted, and then register a new DAC instance from the database.

警告

復元または再アタッチされたデータベースから DAC を登録して DAC インスタンスを再構築しても、サーバーの選択ポリシーなど、元の DAC の一部は再作成されません。Rebuilding a DAC instance by registering a DAC from a restored or re-attached database will not recreate some parts of the original DAC, such as the server selection policy.

権限Permissions

DAC を削除できるのは、 sysadmin または serveradmin 固定サーバー ロールのメンバーか、データベース所有者のみです。A DAC can only be deleted by members of the sysadmin or serveradmin fixed server roles, or by the database owner. あらかじめ登録された SQL ServerSQL Server システム管理者アカウント ( sa ) もこのウィザードを起動できます。The built-in SQL ServerSQL Server system administrator account named sa can also launch the wizard.

データ層アプリケーションの削除ウィザードの使用Using the Delete Data-tier Application Wizard

ウィザードを使用して DAC を削除するにはTo Delete a DAC Using a Wizard

  1. オブジェクト エクスプローラーで、削除する DAC を含んだインスタンスのノードを展開します。In Object Explorer, expand the node for the instance containing the DAC to be deleted.

  2. [管理] ノードを展開します。Expand the Management node.

  3. [データ層アプリケーション] ノードを展開します。Expand the Data-tier Applications node.

  4. 削除する DAC を右クリックし、 [データ層アプリケーションの削除] をクリックします。Right-click the DAC to be deleted, and then select Delete Data-tier Application...

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

    1. 概要Introduction

    2. 方法の選択Choose Method

    3. 概要Summary

    4. データ層アプリケーションの削除Delete Data-tier Application

[説明] ページIntroduction Page

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

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

[次へ >] : [方法の選択] ページに進みます。Next > - Proceeds to the Choose Method page.

[キャンセル] : データ層アプリケーションもデータベースも削除することなくウィザードを終了します。Cancel - Ends the wizard without deleting a data-tier application or database.

データ層アプリケーションの削除ウィザードの使用Using the Delete Data-tier Application Wizard

[方法の選択] ページChoose Method Page

削除する DAC に関連付けられているデータベースの処理オプションを指定するには、このページを使用します。Use this page to specify the option for handling the database associated with the DAC to be deleted.

[登録の削除] : データ層アプリケーションを定義しているメタデータを削除しますが、関連付けられたデータベースはそのまま保持されます。Delete registration - Removes the metadata defining the data-tier application, but leaves the associated database intact.

[データベースのデタッチ] : データ層アプリケーションを定義しているメタデータを削除して、関連付けられたデータベースをデタッチします。Detach database - Removes the metadata defining the data-tier application and detaches the associated database.

データベース エンジンDatabase Engineのインスタンスはデータベースを参照できなくなりますが、データ ファイルとログ ファイルはそのまま保持されます。The database can no longer be referenced by that instance of the データベース エンジンDatabase Engine, but the data and log files remain intact.

[データベースの削除] : DAC を定義しているメタデータと、関連付けられたデータベースを削除します。Delete database - Removes the metadata defining the DAC and drops the associated database.

データベースのデータ ファイルとログ ファイルは、完全に削除されます。The data and log files for the database are permanently deleted.

[< 戻る] : [説明] ページに戻ります。< Previous - Returns to the Introduction page.

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

[キャンセル] : DAC もデータベースも削除することなくウィザードを終了します。Cancel - Ends the wizard without deleting the DAC or database.

データ層アプリケーションの削除ウィザードの使用Using the Delete Data-tier Application Wizard

[概要] ページSummary Page

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

[選択内容の概要の確認] : ボックスに表示されている DAC、データベース、および削除方法を確認します。Review your selection summary - Review the DAC, database, and deletion method displayed in the box. 情報が正しい場合は、 [次へ] または [完了] をクリックして DAC を削除します。If the information is correct, select either Next or Finish to delete the DAC. DAC とデータベースの情報が正しくない場合は、 [キャンセル] をクリックしてから正しい DAC を選択します。If the DAC and database information is not correct, select Cancel and select the correct DAC. 削除方法が正しくない場合は、 [戻る] をクリックして [方法の選択] ページに戻り、別の方法を選択します。If the deletion method is not correct, select Previous to return to the Choose Method page and select a different method.

[< 戻る] : [方法の選択] ページに戻り、別の削除方法を選択します。< Previous - Returns to the Choose Method page to choose a different delete method.

[次へ >] : 前のページで選択した方法で DAC インスタンスを削除して、 [データ層アプリケーションの削除] ページに進みます。Next > - Deletes the DAC instance using the method you chose on the previous page, and proceeds to the Delete Data-tier Application page.

[キャンセル] : DAC インスタンスを削除することなくウィザードを終了します。Cancel - Ends the wizard without deleting the DAC instance.

データ層アプリケーションの削除ウィザードの使用Using the Delete Data-tier Application Wizard

[データ層アプリケーションの削除] ページDelete Data-tier Application Page

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

[DAC の削除] : DAC インスタンスを削除するために行った各アクションの成功または失敗が表示されます。Deleting the DAC - Reports the success or failure of each action taken to delete the DAC instance. 内容を確認して、各アクションの成功または失敗を判断します。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 deletion 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 a SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account..

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

データ層アプリケーションの削除ウィザードの使用Using the Delete Data-tier Application Wizard

PowerShell による DAC の削除Delete a DAC Using PowerShell

PowerShell スクリプトを使用して DAC を削除するにはTo delete a DAC using a PowerShell script

  1. SMO サーバー オブジェクトを作成し、削除する DAC を含んだインスタンスに設定します。Create a SMO Server object and set it to the instance that contains the DAC to be deleted.

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

  3. add_DacActionStartedadd_DacActionFinished を使用して、DAC アップグレード イベントをサブスクライブします。Use add_DacActionStarted and add_DacActionFinished to subscribe to the DAC upgrade events.

  4. 削除する DAC を指定します。Specify the DAC to delete.

  5. どの削除オプションが適しているかによって、これらの 3 つのコードのいずれかを使用します。Use one of these three sets of code, depending on which delete option is appropriate:

    • DAC 登録を削除し、データベースをそのままにするには、 Unmanage() メソッドを使用します。To delete the DAC registration but leave the database intact, use the Unmanage() method.

    • DAC 登録を削除し、データベースをデタッチするには、 Uninstall() メソッドを使用し、 DetachDatabaseを指定します。To delete the DAC registration and detach the database, use the Uninstall() method and specify DetachDatabase.

    • DAC 登録を削除し、データベースを削除するには、 Uninstall() メソッドを使用し、 DropDatabaseを指定します。To delete the DAC registration and drop the database, use the Uninstall() method and specify DropDatabase.

DAC のみ削除してデータベースはそのまま残す例 (PowerShell)Example Deleting the DAC but Leaving the Database (PowerShell)

次の例では、MyApplication という DAC を削除します。 Unmanage() メソッドを使用して DAC のみ削除し、データベースはそのままにします。The following example deletes a DAC named MyApplication using the Unmanage() method to delete the DAC but leave the database intact.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Only delete the DAC definition from msdb, the associated database remains active.  
$dacstore.Unmanage($dacName)  

PowerShell による DAC の削除Delete a DAC Using PowerShell

DAC を削除してデータベースをデタッチする例 (PowerShell)Example Deleting the DAC and Detaching the Database (PowerShell)

次の例では、MyApplication という DAC を削除します。 Uninstall() メソッドを使用して DAC を削除し、データベースをデタッチします。The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and detach the database.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Delete the DAC definition from msdb and detach the associated database.  
$dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)  

PowerShell による DAC の削除Delete a DAC Using PowerShell

DAC を削除してデータベースを削除する例 (PowerShell)Example Deleting the DAC and Dropping the Database (PowerShell)

次の例では、MyApplication という DAC を削除します。 Uninstall() メソッドを使用して DAC を削除し、データベースを削除します。The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and drop the database.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})  
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "MyApplication"  
  
## Delete the DAC definition from msdb and drop the associated database.  
## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)  

PowerShell による DAC の削除Delete a DAC Using PowerShell

参照See Also

[データ層アプリケーション] Data-tier Applications
[データ層アプリケーション] Data-tier Applications
データ層アプリケーションの配置 Deploy a Data-tier Application
データベースを DAC として登録する方法 Register a Database As a DAC
SQL Server データベースのバックアップと復元 Back Up and Restore of SQL Server Databases
データベースのデタッチとアタッチ (SQL Server)Database Detach and Attach (SQL Server)