Algunas veces creamos scrips en SQL Server 2005 y luego queremos ejecutarlos en SQL SERVER 2000 y no funcionan, hay un wizard que permite adaptarlos.
Los SELECT, INSERT,
UPDATES Y DELETES no tienen problemas de compatibilidad.
La compatibilidad con SQL SERVER 2000 - SQL SERVER 2005 sólo da problemas a la hora de generar
objetos del tipo Tabla, Procedimientos almacenados, Vistas, etc.
En primer lugar crearemos en SQL 2005 el script necesario
para crear uno de los objetos previamente citados, por ejemplo una tabla.
CREATE TABLE [PROPIETARIO].[tbTabla](
[strCodigoTabla]
[char](7) NOT NULL,
[strCampo1] [char](4) NOT NULL,
[strCampo2] [char](9) NOT NULL,
[strCampo3] [char](7) NOT NULL,
[strCampo4] [char](7) NOT NULL,
[strCampo5] [char](9) NOT NULL,
[strCampo6] [char](7) NOT NULL,
[strCampo7] [char](7) NOT NULL,
[intCampo8] [int] NOT NULL,
CONSTRAINT [PK_tbTabla_4__16] PRIMARY KEY CLUSTERED
(
[strCodigoTabla] ASC,
[strCampo1] ASC,
[strCampo2] ASC,
[strCampo6] ASC,
[strCampo7] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
Creada la tabla, sobre la Base de Datos donde se ha creado hacemos:
Lo que nos abre un Wizard.
Elegimos la base de datos con la que estamos trabajando
Y elegimos SQL Server 2000
Seleccionamos los objetos que vamos a traducir (en
nuestro caso una tabla), pero pueden ser vistas y procedimientos almacenados
también.
Seleccionamos el objeto u objetos creados y pulsamos
next.
Y pulsamos finish, nos sale la pantalla de confirmación
Y el nuevo script, que copiamos y sustituimos por el generado
en SQL 2005
USE
[dbDesarrollo1502]
GO
/******
Object: Table [PROPIETARIO].[tbTabla] Script Date: 07/09/2012 13:49:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [PROPIETARIO].[tbTabla](
[strCodigoTabla]
[char](7) NOT NULL,
[strCampo1] [char](4) NOT NULL,
[strCampo2] [char](9) NOT NULL,
[strCampo3] [char](7) NOT NULL,
[strCampo4] [char](7) NOT NULL,
[strCampo5] [char](9) NOT NULL,
[strCampo6] [char](7) NOT NULL,
[strCampo7] [char](7) NOT NULL,
[intCampo8] [int] NOT NULL,
CONSTRAINT [PK_tbTabla_4__16] PRIMARY KEY CLUSTERED
(
[strCodigoTabla] ASC,
[strCampo1] ASC,
[strCampo2] ASC,
[strCampo6] ASC,
[strCampo7] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object:
ForeignKey [FK_tbTabla_15] Script Date: 07/09/2012 13:49:09 ******/
ALTER TABLE [PROPIETARIO].[tbTabla] WITH NOCHECK ADD CONSTRAINT
[FK_tbTabla_1__15] FOREIGN KEY([strCodigoTabla])
REFERENCES [PROPIETARIO].[tbTabla2] ([strCodigoTabla2])
GO
ALTER TABLE [PROPIETARIO].[tbTabla]
CHECK CONSTRAINT
[FK_tbTabla_1__15]
GO
Este nuevo script tiene compatibilidad
con SQL 2000.
Finalmente ejecutaremos el script generado sobre la base de
datos de SQL 2000 del servidor SQL 2000
para verificar que el script no da errores.
No lo he probado en SQL SERVER 2008 ni SQL SERVER 2012 pero seguramente tengan un wizard similar para compatibilizar versiones.
No hay comentarios:
Publicar un comentario