데이터 계층 응용 프로그램 삭제Delete a Data-tier Application

데이터 계층 응용 프로그램 삭제 마법사 또는 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. 3가지 옵션 모두 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

sysadmin 또는 serveradmin 고정 서버 역할의 멤버 또는 데이터베이스 소유자를 통해서만 DAC를 삭제할 수 있습니다.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 Server 개체를 만든 다음 삭제할 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. 적합한 삭제 옵션에 따라 다음 세 개의 코드 중 하나를 사용합니다.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)

다음 예제에서는 Unmanage() 메서드를 사용하여 MyApplication이라는 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)

다음 예제에서는 Uninstall() 메서드를 사용하여 MyApplication이라는 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)

다음 예제에서는 Uninstall() 메서드를 사용하여 MyApplication이라는 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)