Registrar una base de datos como una DAC

Utilice el Asistente Registrar aplicación de capa de datos o un script de Windows PowerShell para generar una definición de aplicación de capa de datos (DAC) que describa los objetos de una base de datos existente y registre la definición de la DAC en la base de datos del sistema msdb (maestra en SQL Azure).

Antes de empezar

Puede registrar una DAC desde Base de datos de SQL Azure o una base de datos en SQL Server 2005 Service Pack 4 (SP4) o posterior. Con respecto a una instancia administrada del motor de base de datos, la DAC registrada se incorporará a la Utilidad de SQL Server la próxima vez que el conjunto de recopilación de utilidades se envíe desde la instancia al punto de control de la utilidad. Posteriormente, la DAC aparecerá en el nodo Aplicaciones de capa de datos implementadas del Explorador de la utilidad de Management Studio y se notificará en la página de detalles Aplicaciones de capa de datos implementadas.

Nota    El registro de una DAC en una instancia de Motor de base de datos requiere por lo menos permisos ALTER ANY LOGIN y VIEW DEFINITION en el ámbito de la base de datos, permisos SELECT en sys.sql_expression_dependencies y pertenencia al rol fijo de servidor dbcreator. Los miembros del rol fijo de servidor sysadmin o la cuenta de administrador del sistema de SQL Server integrada denominada sa también pueden registrar una DAC. El registro de una DAC que no tiene inicios de sesión en SQL Azure requiere la pertenencia a los roles dbmanager o serveradmin. El registro de una DAC que tiene inicios de sesión en SQL Azure requiere la pertenencia a los roles loginmanager o serveradmin.

Limitaciones

El registro de la DAC solo se puede realizar en SQL Azure, o en SQL Server 2005 SP4 o posterior. El registro de la DAC no se puede llevar a cabo si una DAC ya está registrada en la base de datos. Por ejemplo, si la base de datos se creó implementando una DAC, no puede ejecutar el Asistente Registrar aplicación de capa de datos.

No puede registrar una DAC si la base de datos contiene objetos que no se admiten en una DAC. Para obtener más información acerca de los objetos admitidos por una DAC, vea Compatibilidad de DAC con las versiones y objetos de SQL Server.

Registrar una DAC utilizando PowerShell

Cree un archivo RegisterDAC.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 base de datos de la que se desea extraer una 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 .
    
  2. Agregue código para especificar la base de datos. En este ejemplo se especifica una base de datos denominada MyDB:

    ## Specify the database to register as a DAC.
    $dbname = "MyDB"
    
  3. Agregue código para especificar los metadatos para la 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."
    
  4. Agregue código para ejecutar el método Register con la información especificada anteriormente.

    ## Register the DAC.
    $registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $registerunit.Description = $description
    $registerunit.Register()
    

Ejecute RegisterDAC.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 Registrar aplicación de capa de datos

En Management Studio, puede iniciar el Asistente Registrar aplicación de capa de datos de la forma siguiente:

  • Haga clic con el botón secundario en un nodo de base de datos en el Explorador de objetos, seleccione Tareas y a continuación Registrar aplicación de capa de datos...

El asistente crea una definición de DAC que define los objetos de la base de datos representada por el nodo que seleccionó en la jerarquía del Explorador de objetos. La definición de DAC está almacenada en la base de datos del sistema msdb (maestra en SQL Azure). La combinación de la descripción de DAC y la base de datos forma una instancia de DAC. La información sobre la instancia de DAC se carga en la Utilidad de SQL Server cuando el conjunto de recopilación de utilidades siguiente se transmite al punto de control de la utilidad. La información se puede ver en el nodo Aplicaciones de capa de datos del Explorador de la utilidad.

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

  • Página Introducción

  • Página Definir propiedades

  • Página Validación y resumen

  • Página Registrar DAC

Página Introducción

Esta página describe los pasos para registrar 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 > - Pasa a la página Definir propiedades.

Cancelar - Sale del asistente sin registrar una DAC.

Página Definir propiedades

Use esta página para especificar propiedades a nivel de DAC como el nombre y la versión de la aplicación.

Nombre de aplicación. - Una cadena que especifica el nombre usado para identificar la definición de la DAC; el campo se rellena con el nombre de la base de datos.

Versión. - Un valor numérico que identifica la versión de la DAC. La versión de DAC se usa en Visual Studio para identificar la versión de la DAC en la que están trabajando los desarrolladores. Al implementar una DAC, la versión se almacena en la base de datos msdb y se puede ver después en el nodo Aplicaciones de capa de datos en SQL Server Management Studio.

Descripción. - Opcional. Texto que explica el propósito de la DAC. Al implementar una DAC, la descripción se almacena en la base de datos msdb y se puede ver después en el nodo Aplicaciones de capa de datos en Management Studio.

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

Siguiente >- Comprueba que una DAC se puede integrar desde los objetos en la base de datos y muestra los resultados en la página Validación y resumen.

Cancelar - Sale del asistente sin registrar la DAC.

Página Validación y resumen

Use esta página para revisar las acciones que el asistente realizará al registrar la DAC. La página pasa por tres estados cuando comprueba que una DAC se puede integrar desde los objetos en la base de datos.

Recuperar objetos

Recuperando la base de datos y los objetos de servidor. - Muestra una barra de progreso a medida que el asistente recupera todos los objetos necesarios de la base de datos y la instancia del motor de base de datos.

< Anterior - Vuelve a la página Definir propiedades para cambiar sus entradas.

Siguiente > - Registra la DAC y muestra los resultados en la página Registrar DAC.

Cancelar - Sale del asistente sin registrar la DAC.

Validar objetos

Comprobar SchemaName**.ObjectName.** - Muestra una barra de progreso cuando el asistente comprueba las dependencias de los objetos recuperados y comprueba que son todos objetos válidos para una DAC. SchemaName**.**ObjectName identifican el objeto que se está comprobando.

< Anterior - Vuelve a la página Definir propiedades para cambiar sus entradas.

Siguiente > - Registra la DAC y muestra los resultados en la página Registrar DAC.

Cancelar - Sale del asistente sin registrar la DAC.

Resumen

El siguiente valor se usará para registrar la DAC. - Muestra un informe de las propiedades y objetos que se incluirán en la DAC.

Guardar informe - Seleccione este botón para guardar una copia del informe de validación en un archivo HTML. La carpeta predeterminada es una carpeta SQL Server Management Studio\DAC Packages de la carpeta Documentos de su cuenta de Windows.

< Anterior - Vuelve a la página Definir propiedades para cambiar sus entradas.

Siguiente > - Registra la DAC y muestra los resultados en la página Registrar DAC.

Cancelar - Sale del asistente sin registrar la DAC.

Página Registrar DAC

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

Registrando la DAC - Notifica si cada acción realizada para registrar la DAC se realizó 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 registro 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. El nombre de archivo está en el formato <DACPackageName>_RegisterDACReport_yyyymmdd.html donde <DACPackageName> es el nombre del paquete que se implementa, yyyy es el año actual, mm es el mes actual y dd es el día actual.

Finalizar - Termina el asistente.

Historial de cambios

Contenido actualizado

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