Trabajar Con Scripts de Base de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

Trabajar con scripts de base de datos

Visual Studio 2005


Puede incluir scripts de base de datos en un proyecto de base de datos. Estos scripts pueden ejecutarse antes o despus que el script de generacin al implementar la base de datos o tras implementar cambios en la misma. Tambin puede incluir en el proyecto de base de datos otros scripts que use regularmente, como scripts de administracin 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

Informacin general acerca de los scripts de base de datos


Visual Studio 2005

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

Debe modificar manualmente el script anterior a la implementacin para poder volver a

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

Este script slo se utiliza en SQL Server 2005.


Importar esquemas de base de datos y scripts posteriores a la implementacin
De manera predeterminada, el archivo postdeployment.sql es el script principal posterior 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, se pueden crear scripts adicionales. Si se crean scripts adicionales, se agregan instrucciones al archivo script.postdeployment.sql para incluirlos. Puede designar un archivo diferente como script posterior a la implementacin si establece su propiedadAccin de generacin en PostDeploy.

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

SQL Server 2005

SQL Server 2000

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

ALTER TABLE nombreDeTabla ADD CONSTRAINTnombreDeRestriccin CHE CK

sp_bindrule

ALTER TABLE nombreDeTabla ADD CONSTRAINTnombreDeRestriccin DEF AULT

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.

Cmo: Especificar scripts de ejecucin anterior o posterior a la implementacin


Visual Studio 2005
Otras versiones

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.

Para modificar el script anterior a la implementacin


1. 2. 3. 4. En el Explorador de soluciones, expanda su proyecto de base de datos para mostrar la carpeta Scripts. Expanda la carpeta Scripts para que aparezca la subcarpeta Anterior a la implementacin. Expanda la subcarpeta Anterior a la implementacin y haga clic en el archivo script.predeployment.sql. En el men Ver, haga clic en Abrir. Se abrir el editor de Transact-SQL (T-SQL), mostrando el contenido del archivo script.predeployment.sql. Para obtener informacin acerca del modo SQLCMD y cmo incluir sus propios scripts como parte del script anterior a la implementacin, vea Editar scripts SQLCMD en el Editor de Transact-SQL. Los scripts se ejecutan en el orden en el que los incluye, por lo que puede controlar el orden de ejecucin de los scripts anteriores a la implementacin incluyndolos en un orden concreto.

Nota

Tambin puede hacer doble clic en el archivo script.predeployment.sql.


5. Cuando haya finalizado la edicin del script, abra el men Archivo y haga clic en Guardar script.predeployment.sql. En el Explorador de soluciones, expanda su proyecto de base de datos para mostrar la carpeta Scripts. Expanda la carpeta Scripts para que aparezca la subcarpeta Posterior a la implementacin. Expanda la subcarpeta Posterior a la implementacin y haga clic en el archivo script.postdeployment.sql. En el men Ver, haga clic en Abrir. Se abrir el editor de Transact-SQL (T-SQL), mostrando el contenido del archivo script.postdeployment.sql. Para obtener informacin acerca del modo SQLCMD y cmo incluir sus propios scripts como parte del script posterior a la implementacin, vea Editar scripts SQLCMD en el Editor de Transact-SQL. Los scripts se ejecutan en el orden en el que los incluye, por lo que puede controlar el orden de ejecucin de los scripts posteriores a la implementacin incluyndolos en un orden concreto.

Para modificar el script posterior a la implementacin


1. 2. 3. 4.

Nota

Tambin puede hacer doble clic en el archivo script.postdeployment.sql.


5. Cuando haya finalizado la edicin del script, abra el men Archivo y haga clic en Guardar script.postdeployment.sql.

Cmo: Agregar scripts de administracin a un proyecto de base de datos


Visual Studio 2005
Otras versiones

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.

Agregar scripts nuevos o existentes


Para agregar un script vaco a un proyecto de base de datos
1. En el Explorador de soluciones, haga clic en el proyecto de base de datos o en la carpeta Scripts del proyecto de base de datos.

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).

Para agregar un script existente a un proyecto de base de datos


1. En el Explorador de soluciones, haga clic en el proyecto de base de datos o en la carpeta Scripts del proyecto de base de datos.

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.

Proyectos de base de datos con control de versiones

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.

También podría gustarte