Share via


Implementar una aplicación de capa de datos

Utilice el Asistente Implementar aplicación de capa de datos para implementar una aplicación de capa de datos (DAC) desde un paquete DAC en una instancia existente de SQL Azure o SQL Server 2005 SP4 o posterior. El proceso de implementación registra una instancia de DAC mediante el almacenamiento de la definición de la DAC en la base de datos del sistema msdb (master en SQL Azure), crea una base de datos y, a continuación, rellena la base de datos con todos los objetos de base de datos definidos en la DAC.

Antes de empezar

Puede implementar una DAC en una instancia del Motor de base de datos desde SQL Server 2005 Service Pack 4 (SP4) o posterior, o en SQL Azure. Debe utilizar las herramientas de cliente de SQL Server 2008 R2y posiblemente DAC Framework 1.1. Para obtener más información, vea Compatibilidad de DAC con las versiones y objetos de SQL Server.

Con respecto a una instancia administrada del motor de base de datos, la DAC implementada 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.

Para obtener más información acerca de la creación de un paquete DAC, vea Implementar aplicaciones de capa de datos.

Requisitos

Cuando se conecta a SQL Server 2005 SP4 o posterior, solo los miembros de los roles fijos de servidor sysadmin o serveradmin, o los inicios de sesión que pertenezcan al rol fijo de servidor dbcreator y dispongan de permisos ALTER ANY LOGIN, pueden implementar una DAC. La cuenta de administrador del sistema de SQL Server integrada denominada sa también puede implementar una DAC. Al implementar una DAC con inicios de sesión en SQL Azure, se requiere la pertenencia a los roles loginmanager o serveradmin. Al implementar una DAC sin inicios de sesión en SQL Azure, se requiere la pertenencia a los roles dbmanager o serveradmin.

Nota de seguridadNota de seguridad

Se recomienda no implementar un paquete DAC desde orígenes desconocidos o que no sean de confianza. Es posible que estas DAC contengan código malintencionado que podría ejecutar código Transact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física. Antes de utilizar una DAC desde un origen desconocido o que no sea de confianza, desempaquete la DAC y examine asimismo el código, como los procedimientos almacenados u otro código definido por el usuario. Para obtener más información acerca del modo de ver los contenidos de una DAC, vea Validar un paquete DAC.

Contraseñas de inicio de sesión

Para mejorar la seguridad, los inicios de sesión de la Autenticación de SQL Server están almacenados en un paquete DAC sin ninguna contraseña. Cuando el paquete se implementa o actualiza, el inicio de sesión se crea como un inicio de sesión deshabilitado con una contraseña generada. Para habilitar los inicios de sesión, use un inicio de sesión que disponga del permiso ALTER ANY LOGIN y emplee ALTER LOGIN para habilitar el inicio de sesión y asignar una nueva contraseña que pueda comunicar al usuario. Esto no se necesita para los inicios de sesión de la Autenticación de Windows, dado que SQL Server no administra sus contraseñas.

Opciones y configuración de bases de datos

De forma predeterminada, la base de datos que se cree durante la implementación incorporará toda la configuración predeterminada de la instrucción CREATE DATABASE, excepto en lo siguiente:

  • La intercalación y el nivel de compatibilidad de las bases de datos se establecen según los valores definidos en el paquete DAC. Un paquete generado a partir de un proyecto DAC en Visual Studio utiliza los valores establecidos en el proyecto DAC. Un paquete que se haya extraído de una base de datos existente utilizará los valores de la base de datos original.

  • Puede ajustar algunos de los valores de configuración de la base de datos, como por ejemplo el nombre de la base de datos y las rutas de archivo, en la página Actualizar la configuración. No puede establecer las rutas de acceso del archivo al realizar la implementación en SQL Azure.

Algunas opciones de base de datos, como TRUSTWORTHY, DB_CHAINING y HONOR_BROKER_PRIORITY, no se pueden ajustar en el proceso de implementación. Las propiedades físicas, como el número de grupos de archivos o el número y tamaño de los archivos no se pueden modificar en el proceso de implementación. Una vez se haya completado la implementación, podrá utilizar la instrucción ALTER DATABASE, SQL Server Management Studio o SQL Server PowerShell para personalizar la base de datos. Para obtener más información, vea Modificar una base de datos.

Varias implementaciones

El mismo paquete DAC se puede implementar varias veces en una instancia única de Motor de base de datos, sin embargo las implementaciones se deben ejecutar de una en una. El nombre de la instancia de la DAC que se especificó para cada implementación debe ser único en la instancia del Motor de base de datos.

Implementar una DAC utilizando PowerShell

Cree un archivo de script de PowerShell (.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 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 cargar el archivo de paquete DAC. En este ejemplo se carga un archivo MyApplication.dacpac

    ## Load the DAC package file.
    $dacpacPath = "C:\MyDACs\MyApplication.dacpac"
    $fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
    $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
    
  4. Agregue código para suscribirse a los eventos de implementación de la DAC.

    ## Subscribe to the DAC deployment events.
    $dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
    $dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})
    
  5. Agregue código para implementar la DAC, crear la base de datos y cerrar el archivo de paquete DAC:

    ## Deploy the DAC and create the database.
    $dacName  = "MyApplication"
    $evaluateTSPolicy = $true
    $deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)
    $dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy)
    $fileStream.Close()
    

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

En Management Studio, puede iniciar el Asistente Implementar aplicación de capa de datos si navega hasta el nodo Administración en un servidor del Explorador de objetos, hace clic con el botón secundario en el nodo Aplicaciones de capa de datos y, a continuación, selecciona Implementar aplicación de capa de datos.

El asistente implementa la DAC en la instancia de Motor de base de datos asociada al nodo que seleccionó en la jerarquía de Explorador de objetos. Por ejemplo, si inicia el asistente haciendo clic con el botón secundario en el nodo de servidor para una instancia denominada ProductionServer01/Accounting, la DAC se implementará en esa instancia de Motor de base de datos.

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 Seleccionar paquete DAC

  • Página Revisar directiva

  • Página Actualizar la configuración

  • Página Resumen

  • Página Implementar

Página Introducción

Esta página describe los pasos para implementar 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 > - Va a la página Seleccionar paquete DAC.

Cancelar - Termina el asistente sin implementar una DAC.

Página Seleccionar paquete DAC

Utilice esta página para especificar el paquete DAC que contiene la aplicación de capa de datos que se va a implementar. La página pasa por tres estados.

Seleccionar el paquete DAC

Utilice el estado inicial de la página para elegir el paquete DAC que se va a implementar. El paquete DAC debe ser un archivo de paquete DAC válido y tener una extensión .dacpac.

Paquete DAC - Especifique la ruta y nombre del archivo de paquete DAC que contenga la aplicación de capa de datos que se va a implementar. Puede seleccionar el botón Examinar a la derecha del cuadro para ir a la ubicación del paquete DAC.

Nombre de aplicación - Un cuadro de solo lectura que muestra el nombre de DAC que se asignó cuando la DAC se creó o extrajo de una base de datos.

Versión - Un cuadro de solo lectura que muestra la versión que se asignó cuando la DAC se creó o extrajo de una base de datos.

Descripción - Un cuadro de solo lectura que muestra la descripción que se escribió cuando la DAC se creó o extrajo de una base de datos.

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

Siguiente > - Muestra una barra de progreso cuando el asistente confirma que el archivo seleccionado es un paquete DAC válido.

Cancelar - Termina el asistente sin implementar la DAC.

Validar el paquete DAC

Muestra una barra de progreso cuando el asistente confirma que el archivo seleccionado es un paquete DAC válido. Si se valida el paquete DAC, el asistente pasa a la versión final de la página Seleccionar paquete, donde podrá comprobar los resultados de la validación. Si el archivo no es un paquete DAC válido, el asistente se queda en Seleccionar paquete DAC. Seleccione otro paquete DAC válido o cancele el asistente y genere un nuevo paquete DAC.

Validando el contenido de DAC - La barra de progreso que notifica el estado actual del proceso de validación.

< Anterior - Vuelve al estado inicial de la página Seleccionar paquete.

Siguiente > - Va a la versión final de la página Seleccionar paquete.

Cancelar - Termina el asistente sin implementar la DAC.

Página Revisar directiva

Utilice esta página para revisar los resultados de la evaluación de la directiva de selección de servidores de DAC, en caso de que la DAC tenga una directiva. La directiva de selección de servidores de DAC es opcional y está asignada a la DAC cuando se crea en Visual Studio. La directiva se sirve de las facetas de la directiva de selección de servidores para especificar las condiciones que debe cumplir una instancia de Motor de base de datos para hospedar la DAC.

Resultados de evaluación de condiciones de directivas - Un informe de solo lectura que muestra si se han cumplido correctamente las condiciones de la directiva de implementación de DAC. Los resultados de la evaluación de cada condición se notifican en una línea independiente.

Las siguientes directivas de selección de servidor siempre se evalúan como falsas al implementar una DAC en SQL Azure: la versión del sistema operativo, el lenguaje, las canalizaciones con nombre habilitadas, las plataforma y tcp habilitado.

Pasar por alto infracciones de directivas: utilice esta casilla para comenzar con la implementación si se produce un error en una o más de las condiciones de la directiva. Seleccione esta opción solamente si está seguro de que todas las condiciones que produjeron errores no evitarán la correcta operación de la DAC.

<Anterior - Vuelve a la página Seleccionar paquete.

Siguiente > - Pasa a la página Actualizar la configuración.

Cancelar - Termina el asistente sin implementar la DAC.

Página Actualizar la configuración

Utilice esta página para especificar los nombres de la instancia de DAC implementada y la base de datos que ha creado la implementación, así como para establecer las opciones de base de datos.

Nombre de la base - Especifica el nombre de la base de datos que se creará en la implementación. El valor predeterminado es el nombre de la base de datos de origen de donde se extrajo la DAC. El nombre debe ser único en la instancia de Motor de base de datos y cumplir las reglas de los identificadores de Motor de base de datos.

Si cambia el nombre de la base de datos, los nombres de los archivos de datos y de registro cambiarán para coincidir con el nuevo valor.

El nombre de la base de datos también se utiliza como nombre de la instancia de DAC. El nombre de instancia se muestra en el nodo para la DAC en el nodo Aplicaciones de capa de datos en Explorador de objetos, o bien en el nodo Aplicaciones de capa de datos implementadas en el Explorador de la utilidad.

Las siguientes opciones no se aplican a SQL Azure y no se muestran al realizar la implementación en SQL Azure.

Utilizar la ubicación de base de datos predeterminada: seleccione esta opción para crear los archivos de datos de la base de datos y los archivos de registro en la ubicación predeterminada para la instancia de Motor de base de datos. Los nombres de archivo se generarán utilizando el nombre de la base de datos.

Especificar archivos de base de datos - Seleccione esta opción para especificar una ubicación o un nombre diferentes para los archivos de datos y de registro.

Ruta de acceso y nombre del archivo de datos - Especifique la ruta completa y nombre de archivo para el archivo de datos. El cuadro se rellena con la ruta de acceso y nombre de archivo predeterminados. Modifique la cadena en el cuadro para cambiar el valor predeterminado o utilice el botón Examinar para navegar hasta la carpeta donde el archivo de datos se va a colocar.

Ruta de acceso y nombre del archivo de registro - Especifique la ruta completa y el nombre del archivo para el archivo de registro. El cuadro se rellena con la ruta de acceso y nombre de archivo predeterminados. Modifique la cadena en el cuadro para cambiar el valor predeterminado o utilice el botón Examinar para navegar hasta la carpeta donde se va a colocar el archivo de registro.

<Anterior - Vuelve a la página Seleccionar paquete DAC.

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

Cancelar - Termina el asistente sin implementar la DAC.

Página Resumen

Utilice esta página para comprobar las acciones que el asistente realizará al implementar la DAC.

La siguiente configuración se utilizará en la implementación de su DAC. - Compruebe la información que se muestra para asegurarse de que las acciones a emprender serán las correctas. La ventana muestra el paquete DAC y el nombre que seleccionó para la instancia de DAC implementada. La ventana también muestra los valores de configuración que se utilizarán al crear la base de datos asociada con la DAC.

< Anterior - Vuelve a la página Actualizar la configuración para cambiar las opciones seleccionadas.

Siguiente > - Implementa la DAC y muestra los resultados en la página Implementar DAC.

Cancelar - Termina el asistente sin implementar la DAC.

Página Implementar

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

Implementación de DAC - Notifica si cada acción realizada para implementar la DAC se realizó o no correctamente. 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 implementació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 la 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.