Trabajar Con Scripts de Base de Datos
Trabajar Con Scripts de Base de Datos
Trabajar Con Scripts de Base de Datos
En esta seccin
Informacin general acerca de los scripts de base de datos Proporciona informacin sobre los tipos de scripts que puede incluir y sobre cmo se pueden modificar sus resultados. Cmo: Especificar scripts de ejecucin anterior o posterior a la implementacin Describe la manera de especificar scripts que deben ejecutarse antes o despus de implementar una base de datos. Cmo: Agregar scripts de administracin a un proyecto de base de datos Describe la manera de agregar scripts de administracin de base de datos (o cualquier otro script no relacionado con la implementacin) en un proyecto de base de datos.
Secciones relacionadas
Fundamentos de la edicin de instrucciones Transact-SQL Anlisis y ejecucin de scripts en el editor de Transact-SQL Tutorial: Implementar cambios en una base de datos existente con control de versiones Informacin general acerca de la terminologa de Team Edition for Database Professionals
Otras versiones
Personas que lo han encontrado til: 1 de 1 - Valorar este tema Los scripts de base de datos son archivos adicionales que contienen instrucciones Transact-SQL (T-SQL) o utilidades como SQLCMD que no forman parte de la definicin delesquema de base de datos. Puede utilizar scripts de base de datos como parte del proceso de implementacin (scripts anteriores y posteriores a la implementacin) o pueden ser scripts de administracin que se almacenan en el proyecto de base de datos. Durante una operacin de refactorizacin de base de datos en un objeto de esquema, puede actualizar automticamente cualquier script que contenga un objeto de base de datos cuyo nombre cambie como parte de esa operacin. La carpeta Scripts admite las acciones siguientes: Agregar nuevo elemento
Propiedades Los scripts incluidos en la carpeta Scripts admiten las acciones siguientes:
Agregar carpeta Agregar script Excluir del proyecto Acciones para el control de versiones (como proteger, desproteger, etc.) Cortar Copiar Eliminar Cambiar nombre
Abrir Abrir con Excluir del proyecto Acciones para el control de versiones (como proteger, desproteger, etc.) Cortar Copiar Eliminar Cambiar nombre Propiedades
Scripts de implementacin
Cuando se genera un proyecto de base de datos, el script anterior a la implementacin, las definiciones de objetos de base de datos y el script posterior a la implementacin se combinan en un solo script de generacin. Puede especificar un solo script anterior a la implementacin y un solo script posterior a la implementacin, pero en stos puede incluir otros scripts. Los scripts adicionales se incluyen mediante SQLCMD. (Vea la seccin relacionada ms adelante en este tema.) Al generar el proyecto de base de datos, todos los scripts incluidos se combinan en el script de generacin. Un script anterior a la implementacin se designa estableciendo la propiedad Accin de generacin del archivo de script en PreDeploy. De igual forma, un script posterior a la implementacin se designa estableciendo la propiedad Accin de generacin del archivo de script en PostDeploy. Al designar un script como un script anterior o posterior a la implementacin, si se hubiera designado previamente otro script con
esa accin de generacin, se establecer automticamente la accin de generacin del otro script en No est en la generacin. Este comportamiento se debe al diseo: en un proyecto de base de datos no puede haber ms de un script anterior a la implementacin y un script posterior a la implementacin. Al importar un esquema de base de datos, la mayor parte de la informacin del esquema se importa en las definiciones de objeto de base de datos del proyecto de base de datos. En cambio, otra informacin (como los inicios de sesin, los permisos, las reglas y los valores predeterminados) se importa en los scripts anterior o posterior a la implementacin. Cuando es as, se crean archivos adicionales en la subcarpeta Anterior a la implementacin o en la subcarpeta Posterior a la implementacin de la carpeta Scripts del proyecto de base de datos. Estos archivos de script adicionales se incluyen en los scripts anterior y posterior a la implementacin, segn corresponda. Los scripts incluidos tienen la propiedad Accin de generacin establecida en No est en la generacin, ya que no estn incluidos directamente en la generacin, sino que indirectamente, a travs del script anterior a la implementacin o del script posterior a la implementacin. Todas las instrucciones de script no reconocidas se colocan en el archivo ScriptsIgnoredOnImport.sql de la carpeta Scripts.
Importante
Si los scripts de implementacin hacen referencia a objetos de base de datos cuyos nombres o caractersticas cambiarn posteriormente, debe modificar manualmente los scripts de implementacin para que no se produzca un error en la implementacin. Por ejemplo, si tiene reglas y valores predeterminados enlazados a una tabla y cambia el nombre de la tabla pero no modifica el script de implementacin, se producir un error en el enlace. Si cambia el nombre de la tabla mediante una operacin de refactorizacin de cambio de nombre, el script de implementacin se actualizar en la operacin de refactorizacin.
Importar esquemas de base de datos y scripts anterior a la implementacin
De manera predeterminada, el archivo script.predeployment.sql es el script principal anterior a la implementacin. Este script se crea automticamente como un archivo vaco cuando se crea un proyecto de base de datos. Al importar un esquema de base de datos, pueden crearse otros scripts automticamente en la misma carpeta que contiene el script anterior a la implementacin. Si se crean scripts adicionales, se agregan instrucciones al archivo script.predeployment.sql para incluirlos. Puede designar un archivo diferente como script anterior a la implementacin si establece su propiedad Accin de generacin en PreDeploy.
Nota
Slo puede haber un script anterior a la implementacin con una propiedad Accin de generacin establecida en PreDeploy. Para utilizar varios scripts en el paso anterior a la implementacin, debe designar un script anterior a la implementacin de nivel superior que incluya los dems scripts anteriores a la implementacin; para ello, se usa la instruccin siguiente: SQLCMD :r .\nombreDeArchivo.sql.
Importante
crear los objetos de los que no se pueda importar informacin de regeneracin suficiente durante una operacin de importacin de esquema. Por ejemplo, debe modificar el script para crear claves de cifrado y certificados.
Los archivos de script de la tabla siguiente se generan al importar un esquema de base de datos:
Nombre de archivo
Orden de inclusin
Notas
Logins.sql
Primero
Este script contiene las definiciones de todos los inicios de sesin de Microsoft SQL Server que se definieron en la base de datos de origen. Para establecer los inicios de sesin mediante scripts, se utiliza CREATE LOGIN en Microsoft SQL Server 2005 y sp_addlogin en SQL Server 2000. Este script contiene instrucciones para crear servidores vinculados. (Para obtener ms informacin, vea Vincular servidores). Al importar el esquema de base de datos, se agrega una instruccin sp_addlinkedserver al script para cada servidor vinculado de la base de datos de origen. Este script contiene mensajes de error definidos por el usuario. Al importar el esquema de base de datos, se agrega una instruccin sp_addmessage al script para cada mensaje de error personalizado que se haya definido en la base de datos de origen. Este script contiene marcadores
LinkedServers.sql
Segund o
CustomErrors.sql
Tercero
EncryptionKeysAndCertificates.s
Cuarto
ql
de posicin para cada instruccin CREATE SYMMETRIC KEY, CREATE ASYMMETRIC KEY, CREATE MASTER KEY y CREATE CERTIFICATE de la base de datos de origen.
Nota
Nota
Slo puede haber un script posterior a la implementacin con una propiedad Accin de generacin establecida en PostDeploy. Para usar varios scripts en el paso posterior a la implementacin, debe crear un script posterior a la implementacin de nivel superior que incluya los dems scripts posteriores a la implementacin; para ello, se usa la instruccin siguiente: SQLCMD :r .\nombreDeArchivo.sql.
Importante
Es posible que tenga que modificar manualmente los scripts posteriores a la implementacin para poder volver a crear o actualizar los objetos de los que no se pueda importar informacin de regeneracin o modificacin suficiente durante una operacin de importacin de esquema. Esto puede suceder, por ejemplo, al asociar usuarios a funciones.
Los archivos de script de la tabla siguiente se generan al importar un esquema de base de datos:
Nombre de archivo
Orden
Notas
Storage.sql
Primero
Este script contiene definiciones relacionadas con objetos de almacenamiento, como archivos y grupos
de archivos. Permissions.sql Segund o Este script contiene los permisos GRANT, REVOKE o DENY pa ra la base de datos de destino. Al importar un esquema de base de datos, se agregan instrucciones a Permissions.sql para los permisos que estn especificados en la base de datos de origen. Este script contiene las instrucciones sp_addrolemember necesarias para asociar usuarios a funciones. Este script contiene instrucciones adicionales para definir reglas y valores predeterminados para la base de datos de destino. Al importar un esquema de base de datos, se agregan instrucciones adicionales al script RulesAndDefaults para enlazar las reglas y los valores predeterminados a las columnas o tipos de datos de alias y para agregar cuentas de seguridad como miembro de una funcin de base de datos de SQL Server existente en la base de datos. Vea en la tabla siguiente las instrucciones que se agregarn al script. Este script contiene opciones que se aplican a los objetos de base de datos tras la implementacin. Este script contiene definiciones de firmas para la base de datos de destino. Al importar un esquema de base de datos, se agregan instrucciones adicionales al script Signatures.sql para cada firma definida en la base de datos de origen. Nota Este script slo se utiliza en SQL Server 2005.
RoleMemberships.sql
Tercero
RulesAndDefaults.sql
Cuarto
DatabaseObjectOptions.s ql
Quinto
Signatures.sql
Sexto
Las reglas, los valores predeterminados y las cuentas de seguridad se agregan de la manera siguiente:
Para
Enlazar una regla a una columna o a un tipo de datos de alias Enlazar un valor predetermina do a una columna o a un tipo de datos de alias Agregar una cuenta de seguridad como miembro de una funcin de base de datos de SQL Server existente
sp_bindrule
sp_binddefault
sp_addrolemember
sp_addrolemem ber
Scripts adicionales
Adems de scripts de implementacin, puede agregar otros scripts de uso general al proyecto de base de datos. Para que le sea ms fcil organizar estos scripts adicionales, puede agregar subcarpetas a la carpeta de scripts del proyecto de base de datos. Al abrir cualquiera de estos scripts adicionales en el editor de T-SQL, puede conectarse a su servidor de bases de datos y ejecutar el script parcial o totalmente. Por ejemplo, si tiene scripts de auditora que ejecuta de forma rutinaria, este mtodo puede resultar cmodo para guardar cada script con la base de datos asociada y tambin para colocarlos bajo el mismo sistema de control de versiones que el esquema de base de datos. Estos scripts tendrn la propiedad Accin de generacin establecida en No est en la generacin.
Personas que lo han encontrado til: 0 de 1 - Valorar este tema Quizs tenga uno o varios scripts que desee ejecutar antes o despus de la implementacin de la base de datos. Team Edition for Database Professionals proporciona un solo script anterior a la implementacin y un solo script posterior a la implementacin en el proyecto de base de datos. Si su entorno es relativamente sencillo, puede agregar sus instrucciones de script a estos archivos de script. Si tiene un entorno ms complejo y necesita ejecutar varios scripts un script varias veces, quizs le resulte ms sencillo utilizar el modo SQLCMD en el script anterior o posterior a la ejecucin para incluir sus propios scripts de implementacin.
Nota
Nota
Este tema an no ha recibido ninguna valoracin - Valorar este tema Adems de los scripts de distribucin, tambin puede agregar scripts de administracin a un proyecto de base de datos. Debe agregar estos tipos de scripts al proyecto de base de datos si contienen instrucciones que podran requerir cambios en el futuro, a medida que la base de datos cambie. Si los agrega al proyecto de base de datos y al sistema de control de versiones, podr hacer un seguimiento de los cambios y revertir a una
versin anterior si es necesario. Puede agregar un script vaco y modificarlo cuando sea necesario, o puede agregar un script existente.
Nota
Puede agregar scripts a cualquier parte del proyecto de base de datos. El proyecto de base de datos predeterminado tiene una carpeta Scripts, pero puede agregar scripts de administracin a cualquier parte de la estructura del proyecto.
2. 3. 4. 5. En el men Proyecto, haga clic en Agregar nuevo elemento. Aparecer el cuadro de dilogo Agregar nuevo elemento. En la lista Plantillas, haga clic en el icono Script. En Nombre, escriba el nombre que desea asignar al nuevo script. Haga clic en Agregar. Se agrega el script al proyecto, se muestra en el Explorador de soluciones y se abre en el editor de T-SQL (Transact-SQL).
Nota
Puede agregar scripts a cualquier parte del proyecto de base de datos. El proyecto de base de datos predeterminado tiene una carpeta Scripts, pero puede agregar scripts de administracin a cualquier parte de la estructura del proyecto.
2. 3. En el men Proyecto, haga clic en Agregar elemento existente. Aparecer el cuadro de dilogo Agregar elemento existente. Busque el script que desea agregar al proyecto y haga clic en su nombre de archivo. Tambin puede escribir la ruta de acceso y el nombre de archivo del script en el campo Nombre de archivo. 4. Haga clic en Agregar. Se agrega una copia del script al proyecto y se muestra en el Explorador de soluciones. El archivo original no se ve afectado.
Si el proyecto de base de datos est bajo control de versiones, debe seguir algunos pasos adicionales. Al agregar un script al proyecto de base de datos, debe desprotegerlo y actualizar el archivo .dbproj. Tras realizar alguno de los procedimientos anteriores, debe proteger los cambios en el proyecto.
Para proteger los cambios despus de agregar un script a un proyecto de base de datos con control de versiones que usa Team Foundation Server
1. En el men Archivo, elija Control de cdigo fuente y, a continuacin, haga clic en Proteger. Como alternativa, puede usar la ventana Cambios pendientes. En el men Ver, elija Otras ventanas y, a continuacin, haga clic en Cambios pendientes. Se abre el cuadro de dilogo Proteger o la ventana Cambios pendientes, segn el enfoque que elija. 2. 3. En Comentario, escriba una descripcin de los cambios que va a proteger. Revise la lista de archivos modificados, active las casillas de verificacin de los archivos que desea proteger en el sistema de control de versiones y desactive las casillas de verificacin de los archivos que desea dejar desprotegidos. 4. Haga clic en Proteger en el cuadro de dilogo Proteger o en la barra de herramientas de la ventana Cambios pendientes. Se protegen los archivos seleccionados en el sistema de control de versiones.