sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2012 Service Pack 1 y actualización acumulativa 1

Recientemente, Microsoft lanzó el Service Pack 1 para SQL Server 2012, y rápidamente siguió con la Actualización acumulativa 1 para el Service Pack 1. La razón de esto es que el service pack, debido a los ciclos más largos de desarrollo y pruebas de regresión, no contenía ningún de las correcciones de las Actualizaciones acumulativas 3 y 4 de RTM. Dado que muchas personas han esperado (sobre la base de un sesgo mayoritariamente especulativo en este punto) incluso para comenzar a probar SQL Server 2012 hasta que se lanzó el Service Pack 1, pensé que podría ser útil cubrir un par de los escenarios con los que te puedes encontrar. Esta no es una publicación estrictamente relacionada con el rendimiento, pero parte de la información implica interrupciones del servicio, que pueden o no afectar su negocio, SLA, etc.

ACTUALIZAR – La actualización acumulativa 2 del Service Pack 1 de SQL Server 2012 (11.0.3339) se lanzó el 24 de enero de 2013.

Si SQL Server 2012 aún no está instalado...

Cuando está instalando una nueva instancia de SQL Server, desea realizar la menor cantidad de pasos posible. La configuración de SQL Server 2012 es mucho mejor en cuanto a la integración de paquetes de servicios y actualizaciones acumulativas que SQL Server 2008/2008 R2 (descrito por Peter Saddow aquí y aquí). Este método está en desuso, pero aún es compatible con SQL Server 2012. Por lo tanto, puede usar el método anterior si lo desea:

D:\setup.exe /Action=Install /PCUSource=C:\SP1ExtractedFolder /CUSource=C:\CU1ExtractedFolder

El nuevo método, que debería usar, es mucho más simple y no requiere que extraiga manualmente los paquetes usando /x argumento primero:

D:\setup.exe /Action=Install /UpdateSource=C:\AllUpdatesFolder

Solo necesita colocar todas las actualizaciones relevantes en la misma carpeta. Tenga en cuenta que cualquier actualización que obtenga con el nombre de archivo [...]_zip.exe , debe extraer para obtener el ejecutable principal. Por ejemplo, cuando descargue por primera vez el Service Pack 1 y la Actualización acumulativa 1, la carpeta de descarga tendrá este aspecto:

Debe extraer 455715_intl_x64_zip.exe haciendo doble clic en él y eligiendo la ruta de salida (usando /x en la línea de comando es válido, pero se ignora). Una vez hecho esto, la carpeta debería terminar luciendo así. (En ese momento, puede eliminar el 455715... archivo, aunque dado lo "comprimido" que está, tengo que preguntarme por qué continúan colocando este paquete en un archivo autoextraíble en primer lugar).

Ahora, cuando ejecute la línea de comando anterior, cuando llegue a la pantalla Actualizaciones de productos en la configuración, debería ver que ha incluido SP1 y CU1:

Bob Ward hace un muy buen trabajo al describir este escenario con mucho más detalle aquí:

Blog de CSS:La instalación de SQL Server 2012 ahora es más inteligente...

Tenga en cuenta que puede mantener todos sus Service Packs y actualizaciones acumulativas a lo largo del tiempo en la misma carpeta, si usa /UpdateSource argumento, el programa de instalación de SQL Server será lo suficientemente inteligente como para elegir el SP más reciente y su CU más reciente, independientemente de qué más pueda existir en esa carpeta.

Si SQL Server 2012 ya está instalado...

Nuevamente, toda esa información se aplica si está instalando una nueva instancia de SQL Server. Yo, por otro lado, tengo un montón de instancias RTM de SQL Server 2012 que quería parchear, y como no quería perder ninguna de las correcciones de las Actualizaciones acumulativas 3 y 4, quería aplicar ambos Service Pack 1. y la actualización acumulativa 1. Esperaba que la misma inteligencia de estela se integrara en el ejecutable de configuración del Service Pack 1, de modo que simplemente pudiera incluir las actualizaciones de CU1. Intenté lo lógico:

C:\AllUpdatesFolder\SQLServer2012-SP1-KB2674319-x64-ENU.exe /UpdateSource=C:\AllUpdatesFolder

Pero esto finalmente produjo el siguiente error:

Por la bondad del motor de búsqueda:

The setting 'UpdateSource' is not allowed when the value of setting 'ACTION' is 'Patch'.
Error code 0x84B40005.

(Y sí, intenté colocar la carpeta de actualización CU1 extraída en una ubicación diferente).

Confirmé con Microsoft que, aunque el SP1 obviamente contiene parte del código y la lógica del archivo setup.exe principal, no se ha creado para permitir la incorporación de actualizaciones acumulativas. En otras palabras, no puede instalar un paquete de servicio, solo cuando instala el producto principal.

Esto también significa que deberá realizar la instalación en dos pasos . Abrí una nueva sugerencia de Connect, ya que el slipstreaming podría decirse que es *más* valioso durante el servicio que durante la instalación inicial:

Conectar #774109:Permitir /UpdateSource para instaladores de Service Pack

Entonces, procedí a hacer esto en dos pasos. Instalé el Service Pack 1 y observé que no había ningún archivo en uso que pudiera requerir un reinicio:

Y luego, una vez que SP1 estuvo completo, inicié el instalador SP1 CU1. Sin embargo, encontré este error:

Así que no solo tuve que seguir dos pasos para aplicar estos parches, también tuve que reiniciar en el medio. Busqué en los archivos de registro para cada instalación (Detail.txt ) y puedo ver que cuando ejecuté SP1, no había indicios de que Windows esperaba un reinicio:

(07) 2012-12-12 06:46:38 Slp: Rule 'RebootRequiredCheck' results: IsRebootNotRequired=True

Pero luego, cuando ejecuté CU1 y obtuve el error, solo unos minutos después de que se completó SP1, vi en el nuevo Detail.txt que ahora Windows *estaba* esperando un reinicio:

(07) 2012-12-12 06:53:38 Slp: Windows Update requires a reboot
(07) 2012-12-12 06:53:38 Slp: Rule 'RebootRequiredCheck' results: IsRebootNotRequired=False
>

No estoy seguro de lo que sucedió, ya que ciertamente no fui y ejecuté Windows Update entre pasos.

ACTUALIZACIÓN:Gracias a Shau Phang en Microsoft, descubrimos en %SystemRoot%\WindowsUpdate.log que una actualización automática de Windows se había iniciado después de que se iniciara el SP1 y finalizó antes de que yo iniciara la actualización de CU. Supongo que esto se debe a que desperté la computadora y me sumergí inmediatamente en iniciar la instalación del paquete de servicio; la verificación "debe reiniciar" debe haberse activado en el medio. Aceptaría toda la responsabilidad por esto si hubiera activado Windows Update y aceptado el valor predeterminado; pero yo no. Aquí está mi configuración:

Así que ten cuidado ahí fuera.

Conclusión

La moraleja de la historia es que, si aún no instaló SQL Server 2012, el slipstreaming para llegar a la última actualización en una sola acción, independientemente de cuándo llegue y qué actualizaciones estén disponibles en ese momento, va a ser simple e indoloro.

Si ya tiene una instancia instalada, en cuyo caso la interrupción del servicio y el tiempo de inactividad casi siempre serán un problema más crítico que durante una nueva instalación, deberá abordar su metodología de aplicación de parches con cuidado y asegurarse de que su ventana de mantenimiento permita para un reinicio del servidor, en caso de ser necesario. Esto también significa:tenga en cuenta la configuración de Windows Update y si se han instalado actualizaciones desde el último reinicio.

Si cree que este es un tema importante, vote por estos elementos de Connect y, lo que es más importante, comente cómo el escenario actual podría afectar su negocio.