Eliminar una aplicación de capa de datos

Puede eliminar una aplicación de capa de datos utilizando el Asistente Eliminar aplicación de capa de datos o un script de Windows PowerShell. Puede especificar si la base de datos asociada se conserva, se separa o se quita.

Antes de empezar

Al eliminar una instancia de la aplicación de capa de datos (DAC), elige una de tres opciones que especifican lo que se va a hacer con la base de datos asociada a la aplicación de capa de datos. Las tres opciones eliminan los metadatos de la definición de DAC. Las opciones difieren en lo que hacen con la base de datos asociada a la aplicación de capa de datos. El asistente no elimina ninguno de los objetos del nivel de instancia asociado a la DAC o la base de datos, como los inicios de sesión.

Opción

Acciones de base de datos

Eliminar registro

La base de datos asociada permanece intacta.

Separar base de datos

La base de datos asociada se separa. La instancia del motor de base de datos no puede hacer referencia a la base de datos, pero los archivos de registro y de datos están intactos.

Eliminar base de datos

Se quita la base de datos asociada. Se eliminan los archivos de registro y datos.

No hay ningún mecanismo automático para restaurar los metadatos o la base de datos de una DAC si esta se elimina. La forma de volver a generar manualmente la instancia de la DAC depende de la opción de eliminación.

Opción

Volver a generar la instancia de DAC

Eliminar registro

Registre una DAC desde la base de datos que se ha mantenida en su lugar.

Separar base de datos

Adjunte la base de datos usando sp_attachdb o SQL Server Management Studio y, a continuación, registre una nueva instancia de DAC desde la base de datos.

Eliminar base de datos

Restaure la base de datos a partir de una copia de seguridad completa realizada antes de que se eliminara la DAC, y, a continuación, registre una nueva instancia de la DAC a partir de la base de datos.

Nota

Volver a generar una instancia de la DAC registrando una DAC desde una base de datos restaurada o adjuntada no volverá a crear algunas partes de la DAC original, como la directiva de selección de servidor.

Permisos

Solo los miembros de los roles fijos de servidor sysadmin o serveradmin, o el propietario de la base de datos, pueden eliminar una DAC. La cuenta de administrador del sistema de SQL Server integrada denominada sa también puede iniciar el asistente.

Eliminar una DAC utilizando PowerShell

Cree un archivo de script de PowerShell (como DeleteDAC.ps1) que contenga el código siguiente.

  1. Agregue código para crear un objeto de servidor de SMO y establecerlo en la instancia que contiene la DAC que desea eliminar. En este ejemplo se establece un objeto de servidor en la instancia predeterminada del equipo local:

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Agregue código para abrir un objeto ServerConnection y conectarse a la misma instancia.

    ## 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)
    
  3. Agregue código para suscribirse a los eventos de eliminación de la DAC.

    ## 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})
    
  4. Agregue código para especificar la DAC que desea eliminar. En este ejemplo se especifica el nombre de la DAC:

    ## Specify the DAC to delete.
    $dacName  = "MyApplication"
    
  5. Agregue código para ejecutar el método Uninstall con la información especificada anteriormente. Use uno de estos tres conjuntos de código, dependiendo de qué opción de eliminación es la apropiada:

    • Para eliminar el registro de la DAC pero dejar intacta la base de datos:

      ## Only delete the DAC definition from msdb, the associated database remains active.
      $dacstore.Unmanage($dacName)
      
    • Para eliminar el registro de la DAC y separar la base de datos:

      ## Delete the DAC definition from msdb and detach the associated database.
      $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
      
    • Para eliminar el registro de la DAC y quitar la base de datos:

      ## Delete the DAC definition from msdb and drop the associated database.
      ## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
      

Ejecute DeleteDAC.ps1 desde una sesión de PowerShell en la que haya cargado los complementos SQL Server PowerShell, o mediante la utilidad del símbolo del sistema sqlps.

Utilizar el Asistente Eliminar aplicación de capa de datos

En Management Studio, puede iniciar el asistente haciendo clic con el botón secundario en un nodo de la aplicación de capa de datos en el Explorador de objetos y seleccionando Eliminar aplicación de capa de datos.

Haga clic en un vínculo en la lista siguiente para navegar a los detalles de una página del asistente:

  • Introducción

  • Elegir método

  • Resumen

  • Eliminar aplicación de capa de datos

Página Introducción

Esta página describe los pasos para eliminar una aplicación de capa de datos.

No volver a mostrar esta página. - Haga clic en la casilla para evitar que la página se muestre en el futuro.

Siguiente > - Continúa en la página Elegir método.

Cancelar - Termina el asistente sin eliminar una aplicación de capa de datos o base de datos.

Página Elegir método

Utilice esta página con el fin de especificar el método para eliminar la aplicación de capa de datos.

Eliminar registro - Quita los metadatos que definen la aplicación de capa de datos, pero deja intacta la base de datos asociada.

Separar base de datos - Quita los metadatos que definen la aplicación de capa de datos y separa la base de datos asociada.

Esa instancia de Motor de base de datos no puede hacer referencia ya a la base de datos, pero los archivos de registro y de datos permanecen intactos.

Eliminar base de datos - Quita los metadatos que definen la DAC y quita la base de datos asociada.

Los archivos de registro y de datos de la base de datos se eliminan de forma permanente.

<Anterior - Vuelve a la página Introducción.

Siguiente > - Continúa en la página Resumen.

Cancelar - Termina el asistente sin eliminar la DAC o la base de datos.

Página Resumen

Use esta página para revisar las acciones que el asistente realizará al eliminar la instancia de la DAC.

Revisar opciones seleccionadas - Revise la DAC, la base de datos y el método de eliminación mostrados en el cuadro. Si la información es correcta, seleccione Siguiente o Finalizar para eliminar la DAC. Si la información de la base de datos y la DAC no es correcta, seleccione Cancelar y seleccione la DAC correcta. Si el método de eliminación no es correcto, seleccione Anterior para volver a la página Elegir método y seleccione un método diferente.

< Anterior - Vuelve a la página Elegir método para elegir un método de eliminación diferente.

Siguiente> - Elimina la instancia de la DAC mediante el método que eligió en la página anterior y continúa en la página Eliminar aplicación de capa de datos.

Cancelar - Finaliza el asistente sin eliminar la instancia de la DAC.

Página Eliminar aplicación de capa de datos

Esta página notifica si la operación de eliminación se realizó correctamente o no.

Eliminando la DAC - Notifica si cada acción realizada para eliminar la DAC se lleva a cabo correctamente o no. Revise la información para determinar si cada acción se realizó o no correctamente. Cualquier acción que encontrara un error tendrá un vínculo en la columna Resultado. Seleccione el vínculo para ver un informe del error para esa acción.

Guardar informe - Seleccione este botón para guardar el informe de eliminación en un archivo HTML. El archivo notifica el estado de cada acción, incluidos todos los errores generados por cualquiera de las acciones. La carpeta predeterminada es una carpeta SQL Server Management Studio\DAC Packages de la carpeta Documentos de su cuenta de Windows.

Finalizar - Termina el asistente.

Historial de cambios

Contenido actualizado

Se ha agregado una sección sobre el uso de PowerShell.