Archivado en: ‘SQL Server’ .

Reducir o hacer un shrink de un transation log de SQL Server

12 Julio, 2010

Muchas veces nos ha ocurrido tener un archivo muy grande de transacciones y no poder reducirlo por diferentes problemas:

  • Espacio en disco no disponible para hacer un backups del log
  • No tener tiempo suficiente
  • Fallo al hacer el backup del archivo de transacciones.
  • No poder para la bbdd

He descubierto una forma muy sencilla y que no tardamos nada en hacerlo y además funciona perfecto, solo aseguraté que hayas hecho un backups completo de la base de datos antes de hacer.

  1. Haz un backups completo de la base de datos
  2. Pon la base de datos en modo SIMPLE
  3. Ha un shrink del archivo de log
  4. Pon la bbdd en modo FULL otra vez.

Ahora ya tendrás reducido tú archivo de transacciones de una manerá muy rápida.

Aquí tienes alguna captura:

» Leer más: Reducir o hacer un shrink de un transation log de SQL Server

Asociar usuarios a login en SQL Server al restaurar

22 Febrero, 2010

Cuando importas una base de datos en un SQL Server, se crean automáticamente los usuarios de la base de datos.

Es de obligación crear de forma manual los login en la base de datos para que los usuarios externos o las aplicaciones puedan acceder al motor de la base de datos e inmediatamente vincular la base de datos que van a utilizar para su utilización.

Nos encontramos el problema de que los Login, no están asociados a la bbdd que acabamos de restaurar ya que el esquema que has importado es diferente al que estamos utilizando para actualizar el esquema y asociar los login a los usuarios de la bases de datos modificando el nombre de los objetos de la bbdd, puedes hacerlo de una forma sencilla para no tener que hacerlo desde el SQL Management Studio de uno en uno.

Aclaremos que no es lo mismo un Login de SQL que un usuario de BBDD.

El login: te permite acceder al motor de la bbdd y ver las bases de datos, pero no puedes entrar en ellas a no ser que tengas usuarios en las bbdd y el login esté vinculado con ese usuario.

Un usuario de BBDD: Debes de tener un login previo si quieres acceder a la bbdd.

Para saber que usuarios de la bbdd no tiene login asociado, tienes que hacer la siguiente select sobre la bbdd que acabamos de restaurar o bien, sobre las que quieres verificar:

EXEC sp_change_users_login ‘Report’

Una vez que sabemos cuales son los usuarios que no están vinculados, podemos ejecutar la siguinte consulta por cada uno de los usuarios:

EXEC sp_change_users_login ‘Auto_Fix’, ‘user’

Borrar planes de mantenimiento SQL 2005

22 Febrero, 2010

!!! NO PODEMOS BORRAR LOS PLANES DE MANTENIMIENTO !!!

Algunas veces nos ocurre que no es posible borrar planes de mantenimiento en una base de datos  SQL Server 2005 desde el SQL Server Management Studio, el error normalmente es porque has creado los planes de mantenimiento con un usuario y luego estás intentando borrar con otros, esto hace que nos tegamos permisos sysadmin  sobre un procedimiento que es el que se lanza al intentar borrar dicho plan con el botón derecho.

Dicho procedimiento están en la bbdd ( msdb ) y la tabla se llama:

dbo.sp_delete_maintenance_plan

Los planes de mantenimiento guardan relación en 4 tablas:

  • sysmaintplan_plans ( cabecera de los planes )
  • sysmaintplan_log
  • sysmaintplan_subplans
  • sysmaintplan_plans

Dentro de la tabla sysmaintplan_plans podemos ver los IDs  de los planes de mantenimiento que tenemos configurados en la bbdd.

————–   PROCEDEMOS —————————————————–

1.- Identificar nuestro plan de mantenimiento

–  select * from sysmaintplan_plans

sql1 300x60 Borrar planes de mantenimiento SQL 2005

Ahora podemos  IDentificar el plan que queremos borrar y saber entonces cual es el número que identifica unicamente el plan de mantenimiento. Bien,  pues ahora podemos borrar dicho plan y las relaciones en otras tablas.

2.- Borrar relaciones las tablas secundarias y luego el registro de la tabla sysmaintplan_plans

Procede de la siguiente forma:

delete from sysmaintplan_log where plan_id = ‘2400B15A-3135-4D25-B14A-78A2568B4D20′

delete from sysmaintplan_subplans where plan_id = ‘2400B15A-3135-4D25-B14A-78A2568B4D20′

– delete from sysmaintplan_plans where id = ‘2400B15A-3135-4D25-B14A-78A2568B4D20′

3.- Borra los jobs de forma manual desde el SQL Management Studio

Una vez borradas las relaciones desde el SQl Management Studio borrar con el botón derecho los Jobs que eran del plan que hemos borrado.


Actualización SP3 SQL 2005 en cluster Microsoft

16 Febrero, 2010

Para realizar la instalación del SP3 en un cluster de SQL debes proceder con el SP3 en el nodo activo. Dicho Service Pack se encarga de actualizar los servicios comunes que se encuentran clusterizados. Esto quiere decir que al ejecutar el SP3 en el nodo activo actualizará el nodo1 y el nodo2 sólo pero sólo los servicios que se pueden poner en cluster :

• SQL Server ( Motor de la base de datos )
• Analysis Services

Por ello cuando realizas una instalación en cluster sólo puedes instalar como cluster esto:

servicios clusterizables1 Actualización SP3 SQL 2005 en cluster Microsoft

Los demás servicios al no ser clusterizables, se actualizan de forma independiente.
Esto quiere decir que tendremos que ejecutar otra vez el SP3 en el nodo pasivo (nodo2 ) y aquí se actualizará todo menos el Analysis Services y el motor de SQL Server, estos no saldrán marcados ya que es el nodo pasivo.
Para realizar la instalación mantén todos los recursos en el nodo1 y no los cambies hasta terminar la actualización completamente en ambos servidores, siempre deja los recursos en un nodo durante todo el proceso, por ejemplo en el nodo1.
Fíjate como cuando actualizas en el nodo 1 el SP3, la instalación hace referencia a la instancia de cluster actualizando los archivos en ambos nodos. Primero haciendo el nodo pasivo y luego el activo, no te preocupes si tarda la siguiente pantalla, está actualizando en primer lugar el pasivo:
esperando nodo2 300x68 Actualización SP3 SQL 2005 en cluster Microsoft

Aclaremos una cosa, hay algunos servicios de SQL que se pueden poner en cluster. Esto significa que cuando los instales tienes que hacerlo tanto en nodo como en otro de forma independiente, estos son los siguientes:

servicios no clusterizables sql 300x103 Actualización SP3 SQL 2005 en cluster Microsoft

Esta es la razón por la que la actualización, también ha que pasarla luego en el nodo pasivo, para que actualice estos componentes. Si no has instalado ninguno de estos no sería necesario pasar la actualización en el nodo 2. Sólo en el nodo que los tengas instalados.

Un dato importante después de la actualización fijarnos en el motor de la bbdd dentro del SQL Management y verificar si la versión que has instsalado es la correcta:

9.00.1399 – SQL Server 2005 release (RTM)
9.00.2047 – SQL Server 2005 SP1
9.00.3042 – SQL Server 2005 SP2
9.00.4053 – SQL Server 2005 SP3

8.00.194 – SQL Server 2000 release (RTM)
8.00.384 – SQL Server 2000 SP1
8.00.534 – SQL Server 2000 SP2
8.00.760 – SQL Server 2000 SP3
8.00.2039 – SQL Server 2000 SP4

7.00.623 – SQL Server 7.0 release (RTM)
7.00.699 – SQL Server 7.0 SP1
7.00.842 – SQL Server 7.0 SP2
7.00.961 – SQL Server 7.0 SP3
7.00.1063 – SQL Server 7.0 SP4

6.50.201 – SQL Server 6.5 release (RTM)
6.50.213 – SQL Server 6.5 with Service Pack 1
6.50.240 – SQL Server 6.5 with Service Pack 2
6.50.258 – SQL Server 6.5 with Service Pack 3
6.50.281 – SQL Server 6.5 with Service Pack 4
6.50.415 – SQL Server 6.5 with Service Pack 5
6.50.416 – SQL Server 6.5 with Service Pack 5a

Optimiza el arranque del Management Studio del SQL 2005/2008

5 Febrero, 2010

Existen un varias razones, por las que el Manangement Studio del SQL Server (la consola de administración) puede llegar a tardar varios minutos en arrancar.

sql082 300x61 Optimiza el arranque del Management Studio del SQL 2005/2008Esto provoca muchos retardos cuando necesitas acceder a la consola de gestión de forma urgente.

La primera razón por la que tarda en arrancar es que cada vez que arrancas el Management Studio, intenta comprobar las DLL´s firmadas del propio programa. accediendo a Microsoft y tratando de comprobar que las firmas de las DLL´s son correctas.

Para evitar esta comprobación basta con acceder al Internet Explorer e ir a “Tools” > “Internet Options” > “Advanced” > “Security” > “Check for signatures on downloaded programs”.

Una vez aquí desmarcamos esa opción para que no compruebe las firmas:

explorer1 235x300 Optimiza el arranque del Management Studio del SQL 2005/2008

Si no disponemos en el servidor de conexión a internet, esta opción es recomendable desmarcarla, ya que nunca podrá comprobar los ficheros de firmas accediendo a Microsoft.

Otra razón por la que tarda en arrancar es que busca los archivos de ayuda por defecto en internet, y esto también provoca un gran retardo en el arranque.

Para solucionar esto debemos arrancar la consola del Management Studio y acceder a “Tools” > “Options” > “Enviroment” > “Help” > “Online”. Aquí debemos modificar el valor que muestra como “When loading Help content” y dejarlo en “Try local first, then online”.

sql 300x174 Optimiza el arranque del Management Studio del SQL 2005/2008

Si no disponemos de conexión a internet en el servidor, este valor lo debemos dejar en “Try local only, not online”.

La última opción por la que tarda en arrancar el Management Studio es dejar habilitado el Error Reporting del SQL Server. Para deshabilitarlo basta con acceder a “Start” > “All Programs” > “Microsoft SQL Server 2005/2008″ > “Configuration Tools” > “SQL Server Error and Usage Reporting”.

Aquí desmarcamos ambas opciones:

errorsql 300x170 Optimiza el arranque del Management Studio del SQL 2005/2008

Con estas tres modificaciones, debes notar como ha mejorado notablemente el arranque del Management Studio. Si no te ha mejorado, tendrás otro problema en el servidor y normalmente será de rendimiento.


-->