Temas etiquetados como: ‘SQL’

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.


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.


-->