viernes, 28 de enero de 2011

Modificar varios trabajos a la vez

Una manera rápida de generar scripts para modificar trabajos de forma masiva. Por ejemplo, tras crear varios planes de mantenimiento, queremos cambiar el propietario del trabajo a 'SA', si el trabajo falla lo escriba en el evento de windows y lo notifique por correo a un determinado operador:

SELECT 'EXEC msdb.dbo.sp_update_job @job_name=N'''+NAME+''' , @owner_login_name=N''sa'', @notify_level_eventlog= 2, @notify_level_email = 2
,@notify_email_operator_name =N''USUARIO''' FROM msdb..sysjobs where category_id = 3

Ejecutar el código y automáticamente os creará los scripts.

Para más información y opciones del procedimeinto sp_update_job, echadle un vistazo a los libros en linea o aqui.

SQL Server Compact 4.0 disponbile

La última versión ya está para descargar en la página de Microsoft

Y en este blog podéis ver las diferencias entre SQL Server Compact 4 y SQL Server Express 2008 R2

miércoles, 26 de enero de 2011

Borrar planes de mantenimiento

Si la opción botón derecho - borrar no funciona:

Identificar el id del plan a borrar:

Select * from msdb..sysmaintplan_plans

Borrar las referencias a ese plan en las sigueintes tablas:


delete from sysmaintplan_plans where id = 'XXXXXXX-XXXX-XXX-XXXX-XXXXXXXXX'
delete from sysmaintplan_log where plan_id = 'XXXXXXX-XXXX-XXX-XXXX-XXXXXXXXX'
 delete from sysmaintplan_subplans where plan_id ='XXXXXXX-XXXX-XXX-XXXX-XXXXXXXXX'

Ahora ya deberíamos borrar los trabajos asociados sin ningún problema

miércoles, 12 de enero de 2011

Fin de soporte a SQL 7

Ayer día 11, oficialmente se terminó el soporte extendido a SQL 7; descanse en paz :-(

En esta página de Microsoft podéis comprobar los periodos de vigencia para los diferentes productos y versiones

martes, 11 de enero de 2011

Windows 2008 R2 y SQL Server 2008 R2: Error 18456 (2)

...al intentar  abrir una conexión con  Management Studio, de manera local,  utilizando una cuenta de dominio con privilegios de adminstrador en el servidor y sysadmin en  SQL Server  (BUILTIN\Administrator no había sido deshabilitado)

Lo curioso es que previamente no hubo problemas para conectar remotamente con esa misma cuenta.

 En el log aparecía el siguiente error:


XXXX-XX-XX 00:00:00.00 Logon       Error: 18456, Severity: 14, State: 11.
XXXX-XX-XX  00:00:00.00 Logon      Login failed for user MYDOMAIN\MYLOGIN'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: ]

Con SA pude conectarme y añadir directamente  la mencionada cuenta de dominio como login de SQL server, lo cualo soluccionó el problema.



La razón de este problema es  UAC, el nuevo sistema que Microsoft introduce para controlar las cuentas de usuario, el cual deshabilita la opción de, automáticamente,  mapear un usuario adminstrador con un login sysadmin.


Otra solucción, por tanto, sería lanzar Management Studio encomo adminstrador o ejecutarlo  de manera remota.

(Esta otra entrada da más información sobrelas causas más "normales" para el  error 18456)