Extraer una DAC de una base de datos

Use el Asistente Extraer una aplicación de capa de datos o un script de Windows PowerShell para extraer un paquete de aplicación de capa de datos (DAC) de una base de datos de SQL Server existente. El proceso de extracción crea un archivo de paquete DAC que contiene definiciones de los objetos de base de datos y sus elementos relacionados a nivel de instancia. Por ejemplo, un archivo de paquete DAC contiene las tablas de base de datos, procedimientos almacenados, vistas y usuarios, junto con los inicios de sesión que se asignan a los usuarios de la base de datos.

Puede extraer una DAC de las bases de datos que residen en instancias de SQL Azure o SQL Server 2005 Service Pack 4 (SP4) o posterior.

El Asistente Extraer aplicación de capa de datos no registra la definición de DAC en la instancia actual del motor de base de datos. Para obtener más información sobre el registro de una DAC, vea Registrar una base de datos como una DAC.

Extraer una DAC utilizando PowerShell

Generar y ejecutar un script

  1. Cree un archivo ExtractDAC.ps1.

  2. Agregue código para crear un objeto de servidor de SMO y establecerlo en la instancia que contiene la base de datos de la que se desea extraer un DAC. 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 .
    
  3. Agregue código para especificar la base de datos. En este ejemplo se especifica una base de datos denominada MyDB:

    ## Specify the database to extract to a DAC.
    $dbname = "MyDB"
    
  4. Especifique los metadatos para el DAC. En este ejemplo se especifican el nombre, la versión y la descripción de la DAC:

    ## Specify the DAC metadata.
    $applicationname = "MyApplication"
    $version = "1.0.0.0"
    $description = "This DAC defines the database used by my application."
    
  5. Especifique la ruta de acceso y el nombre del archivo de paquete DAC extraído.

    ## Specify the location and name for the extracted DAC package.
    $dacpacPath = "C:\MyDACs\MyApplication.dacpac"
    
  6. Agregue código para ejecutar el método Extract con la información especificada anteriormente.

    ## Extract the DAC.
    $extractionunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $extractionunit.Description = $description
    $extractionunit.Extract($dacpacPath)
    
  7. Ejecute ExtractDAC.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.

Asistente Extraer aplicación de capa de datos

Para abrir el Asistente Extraer aplicación de capa de datos

  1. En el Explorador de objetos, expanda Bases de datos, haga clic con el botón secundario en una base de datos, seleccione Tareas y, a continuación, haga clic en Extraer aplicación de capa de datos.

  2. Siga los pasos del asistente para crear un paquete DAC basado en la base de datos que seleccione. Para obtener más información, vea Ayuda de F1 del asistente Extraer aplicación de nivel de datos.

Historial de cambios

Contenido actualizado

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