Me he encontrado con tres bases de datos antiguas ubicadas en SQL Server 2000 que necesito mover a 2012. Creo que el enfoque estándar es restaurar en una instancia de 2005 o 2008, actualizar, reexportar y finalmente restaurar en 2012.
Bien, excepto que no tenemos instancias 2005 o 2008 disponibles.
¿Hay alguna solución u otro método que valga la pena probar?
Para información, las bases de datos solo contienen 15-20 tablas y algunas vistas, parecen muy simples y las copias de seguridad tienen un tamaño de solo 100-200MB.
Respuestas:
No, no hay una solución alternativa para actualizar una base de datos directamente de 2000 a 2012.
Como no tiene un montón de datos, puede hacer todo tipo de cosas para mover los datos (pero no la base de datos en su conjunto), que incluyen:
Sin embargo, estos no necesariamente traerán otras cosas como usuarios, permisos, roles, etc. Y no todo creará sus objetos en el orden de dependencia correcto. Por lo tanto, son más propensos al trabajo y a los errores. En mi experiencia, valdría la pena poner temporalmente una instancia intermedia y luego hacer dos operaciones de copia de seguridad + restauración, lo que será más fácil, más rápido y menos propenso a errores que cualquiera de los métodos anteriores.
Si sus bases de datos son más pequeñas que 10 GB, puede instalar una copia de Express (gratis) en unos minutos y usarla. Puede descargar 2008 R2 Express aquí . No creo que haya ninguna función Enterprise en 2000 en torno a la estructura de la base de datos, etc., que bloquee esa actualización (una preocupación mayor para las versiones más modernas).
Si su base de datos es demasiado grande para Express, debería poder encontrar Developer Edition por $ 49 más o menos (o incluso más barato, encontré 2005 en eBay por $ 37 ), o si tiene una suscripción a MSDN, debería poder obtener cualquier SKU a partir de ahí.
O puede salirse con la suya utilizando una Edición de Evaluación, que sorprendentemente todavía se ofrece para descargar para versiones anteriores (por ejemplo , encontré 2008 aquí ), sin embargo, estoy en un teléfono, así que no pude confirmar que la descarga para esa versión todavía funciona .
fuente
Afirmar que no hay una solución alternativa parece un poco prematuro.
Usted dice que su base de datos solo contiene algunas tablas y vistas. ¿Por qué no exportar las tablas y el esquema de vistas cuando SQL crea declaraciones y las ejecuta en su base de datos de destino? Luego, también podría exportar los datos reales a algo como el formato CSV e importarlos a la base de datos de destino, o tal vez incluso escribir algo en C # / C ++ / etc. para exportar / importar los datos reales.
No necesitaría gastar un centavo en nuevas instancias de SQL Server que finalmente no necesita.
fuente
No, no puede migrarlo directamente de 2000 a 2012.
Lo que puede hacer es instalar una instancia temporal de 2005 O 2008 o 2008R2, restaurar la base de datos 2000 aquí. Una vez hecho esto, ahora puede actualizar desde la instancia instalada haciendo una copia de seguridad de la base de datos de esa instancia y restaurando en el servidor SQL 2012.
Deberá realizar la migración en dos pasos:
fuente
Dice que "ha encontrado tres bases de datos antiguas en SQL Server 2000", lo que me hace creer que solo necesita los datos. Supongo que si se estuvieran ejecutando con un propósito, lo sabrías. Si este es el caso, ignore todas las preguntas de los usuarios, seguridad, etc.
Asistente de importación / exportación de todas las tablas Realice una secuencia de comandos de los procedimientos almacenados y las vistas Compruebe los planes de mantenimiento y los trabajos del agente simplemente para documentar los procesos que desee ver más adelante.
fuente
No puede migrar directamente de SQL Server 2000 a SQL Server 2012, y si intenta hacerlo, obtendrá el siguiente número de error 3169, que está relacionado con problemas de compatibilidad.
La migración a SQL Server 2012 se puede realizar desde una de las siguientes versiones (versiones mínimas) SQL Server 2005 SP4 o SQL Server 2008 SP2 o SQL Server 2008 R2 SP1.
Entonces, el primer paso para migrar de SQL Server 2000 a una de esas versiones, encontré uno de los Asesores de actualizaciones para SQL Server 2008 en el siguiente enlace . Para asegurarse de que todo funcionará sin problemas antes de comenzar el proceso de restauración, debe ejecutar la aplicación. Luego "Inicie el Asistente de análisis del Asesor de actualizaciones" y siga los pasos del asistente.
Después de recibir el informe, debe restaurar la base de datos en el SQL Server 2005 SP4 de destino o SQL Server 2008 SP2 o SQL Server 2008 R2 SP1 y ejecutar el nivel de compatibilidad (puede encontrarlo en la opción de base de datos). Para los inicios de sesión de SQL Server, siga las instrucciones en el siguiente enlace .
Cuando eso esté completo, ahora necesita migrar a SQL Server 2012 repitiendo los mismos pasos desde el servidor al que realizó la primera migración.
fuente
Primero, estoy de acuerdo en que no debe migrar de 2000 a 2012 directamente. Creo que ese proceso se ha cubierto bien. Quería sugerirle que averigüe con certeza si alguien está usando las bases de datos y para qué las están usando. Puede ser que no se estén utilizando. Sucede y si ese es el caso, entonces no tienes preocupaciones. Puede ser que agregar 2 o 3 tablas y los datos (para el año 2000 use bcp si desea obtener los datos de una tabla individual, es simple y confiable) a una base de datos 2012 existente para satisfacer las necesidades de los usuarios. Si lo hace, cree las nuevas tablas en una base de datos de 2012 y extraiga los datos que necesita para csv, puede volver a incorporarlos si lo desea. Si tiene que migrar más de una o dos tablas, la forma más simple, segura y mejor es realizar la migración en dos pasos. Don'
fuente