Registrar una base de datos como una DAC
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Base de datos de Azure SQL de Microsoft Fabric
Use el Asistente para registrar aplicación de capa de datos o un script de Windows PowerShell para compilar 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 msdb
base de datos del sistema (master
en la base de datos Azure SQL).
Antes de empezar: Limitaciones y restricciones, Permisos
Para actualizar una DAC mediante: Asistente para registrar aplicación de capa de datos, PowerShell
Antes de empezar
El proceso de registro crea una definición de DAC que define los objetos de la base de datos. La combinación de la definición de DAC y la base de datos de una instancia de DAC. Si registra una base de datos como una DAC en una instancia 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 utilidades de Management Studio y aparecerá en la página de detalles Aplicaciones de nivel de datos implementadas.
Limitaciones y restricciones
El registro de la DAC solo se puede realizar en una base de datos en SQL Database o SQL Server 2005 (9.x) Service Pack 4 (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 para registrar aplicación de capa de datos.
No puede registrar ninguna DAC si la base de datos tiene objetos que no se admiten en una DAC o usuarios contenidos. Para obtener más información acerca de los objetos admitidos por una DAC, vea DAC Support For SQL Server Objects and Versions.
Permisos
El registro de un DAC en una instancia de motor de base de datos requiere al menos el inicio de sesión ALTER ANY y permisos VIEW DEFINITION en el ámbito de la base de datos, permisos SELECT en sys.sql_expression_dependencies
y la pertenencia al rol de servidor fijo 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 Database requiere la pertenencia a los roles dbmanager o serveradmin. El registro de una DAC que tiene inicios de sesión en SQL Database requiere la pertenencia a los roles loginmanager o serveradmin.
Usar el Asistente para registrar una aplicación de capa de datos
Para registrar una DAC mediante un asistente
En Explorador de objetos, expanda el nodo de la instancia que contiene la base de datos que se va a registrar como una DAC.
Expanda el nodo Bases de datos .
Haga clic con el botón derecho en la base de datos que se va a registrar, seleccione Tareas y después Registrar como aplicación de capa de datos...
Complete los cuadros de diálogo del asistente:
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. - seleccione la casilla para evitar que la página se muestre en el futuro.
Siguiente >: avanza a la página Definir propiedades.
Cancelar : sale del asistente sin registrar una DAC.
Usar el Asistente para registrar aplicación de capa de datos
Página Definir propiedades
Use esta página para especificar propiedades en el nivel de DAC como el nombre y la versión de la aplicación.
Nombre de la aplicación. - Una cadena que especifica el nombre que se usa para identificar la definición de la DAC; el campo se ha rellenado 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 se puede crear una DAC a partir de los objetos de la base de datos y muestra los resultados en la página Validación y Resumen.
Cancelar : sale del asistente sin registrar la DAC.
Usar el Asistente para registrar aplicación de capa de datos
Página Validación y resumen
Use esta página para revisar las acciones que el asistente realiza al registrar la DAC. La página pasa por tres estados cuando comprueba que una DAC se puede compilar a partir de los objetos en la base de datos.
Usar el Asistente para registrar aplicación de capa 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 las entradas.
Siguiente >: registra la DAC y muestra los resultados en la página Registrar DAC.
Cancelar : sale del asistente sin registrar la DAC.
Usar el Asistente para registrar aplicación de capa de datos
Validar objetos
Checking 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 identifica el objeto que se está comprobando.
< Anterior: vuelve a la página Definir propiedades para cambiar las entradas.
Siguiente >: registra la DAC y muestra los resultados en la página Registrar DAC.
Cancelar : sale del asistente sin registrar la DAC.
Usar el Asistente para registrar aplicación de capa de datos
Resumen
El siguiente valor se usará para registrar la DAC. - Muestra un informe de las propiedades y objetos incluidos 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 las entradas.
Siguiente >: registra la DAC y muestra los resultados en la página Registrar DAC.
Cancelar : sale del asistente sin registrar la DAC.
Usar el Asistente para registrar aplicación de capa de datos
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 encuentre 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 tiene el formato <DACPackageName>_RegisterDACReport_yyyymmdd.html, donde <DACPackageName> es el nombre del paquete que se implementa; yyyy = el año actual; mm = el mes actual y dd = el día actual.
Finalizar : termina el asistente.
Usar el Asistente para registrar aplicación de capa de datos
Registrar una DAC con PowerShell
Para registrar una base de datos como una DAC mediante el método Register() en un script de PowerShell
Cree un objeto SMO Server y establézcalo en la instancia que contiene la base de datos que se va a registrar una DAC.
Agregue una variable que especifique el nombre de la base de datos.
Especifique los metadatos de la DAC, como su nombre, versión y descripción.
Ejecute el método Register con la información especificada anteriormente.
Ejemplo (PowerShell)
El ejemplo siguiente registra una base de datos denominada MyDB como DAC.
## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .
## Specify the database to register as a DAC.
$dbname = "MyDB"
## Specify the DAC metadata.
$applicationname = "MyApplication"
$version = "1.0.0.0"
$description = "This DAC defines the database used by my application."
## Register the DAC.
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
$registerunit.Description = $description
$registerunit.Register()