miércoles, 28 de enero de 2009

Actualizar VSTS Data Base para SQL 2008

Recientemente he actualizado mi entorno de desarrollo y mi Base de Datos a SQL Server 2008 y he actualizado mi Visual Studio 2008 con la actualización "GDR de Microsoft® Visual StudioTeam System 2008 Database Edition".

Lo primero que realicé fue crear un proyecto nuevo de Base de Datos y todo fue correcto, vi los cambios en el entorno de desarrollo y una vez que me adapté a ellos, decidí actualizar mi proyecto de Base de Datos para este entorno.

Abrí mi nuevo entorno de desarrollo selecciono abrir proyecto o solución y selecciono mi proyecto, lo primero que hace es actualizar mi proyecto de BBDD al nuevo entorno de desarrollo y con eso empiezo a revisar las modificaciones en la estructura del proyecto. En principio no da errores graves un par de errores en permisos y roles, que se solucionan sin problemas, pero mi sorpresa viene cuando decido generar el proyecto y me parece el siguiente error en la generación

" Error 1 TSD01261: No se pudo realizar la comprobación de sintaxis 'Sintaxis incorrecta cerca de END.' en el lote cercano a 'END ", no indica nada ni el fichero que contiene el error ni algún dato que pueda servir de pista.

Me puse a revisar la sintaxis de todo el proyecto y no dio resultado, ya en un último intento encontré una incidencia en Ms Connect que habla del problema.

En resumen, resulta que al actualizar el proyecto de Base de Datos si en el proyecto tienes definido un Fichero de BBDD para el almacenamiento, al realizar la importación te comenta las líneas de código que hacen referencia al almacenamiento y te deja la siguiente sintaxis.


IF NOT EXISTS(SELECT 1 FROM dbo.sysfiles WHERE name = 'Mi_Ficehro')

BEGIN

-- La actualización del proyecto ha movido este código a 'Mi_Fichero_Material.sqlfile.sql'.

--ALTER DATABASE [$(databasename)]

--ADD FILE

--(

--NAME = N'$(databasename)_Material',

--FILENAME = N'$(DefaultDataPath)\$(databasename)_Material.ndf',

--MAXSIZE = UNLIMITED,

--FILEGROWTH = 10%

--)

--TO FILEGROUP Material

END

GO

Como resultado al generar como me ha comentado el código entre el Begin y End y no hay código da error, y su solución pasa por eliminar todo el código afectado desde el IF al GO.

Así si vais a actualizar vuestra BBDD tendréis que tener en cuenta a revisar el fichero "STORAGE.SQL" de vuestro proyecto de BBDD.

Saludos Alberto

No hay comentarios:

Publicar un comentario