Alternativa a SQL Agent

admin

July 20, 2011

SQL SERVER

Es bastante común en las versiones Express de SQL Server que se busque una alternativa a SQL Server Agent para programar JOBS tan necesarios como actualizar algunas tablas o crear respaldos.

La alternativa es similar a lo que se hace con MYSQL, usando la herramienta OSQL para efectuar los comandos y creando una Tarea Programada en Windows.
El proceso consta de tres sencillos pasos:
1) Crear un archivo *.sql con las instrucciones deseadas (actualizaciones, respaldos, restauraciones, etc)
2) Crear un archivo *.bat que ejecute OSQL llamando al scritp *.sql creado.
3) Crear una tarea programada en Windows que ejecute el archivo *.bat (ó *.cmd).
Ejemplo:
Supongamos que deseamos respaldar una base de datos.
Abrimos el bloc de notas (o el Notepad++ ó Sql Server Management Studio ó el editor SQL que usen) y tecleamos:
USE Master
GO
BACKUP DATABASE [MiBaseDeDatos] TO DISK = N’C:\MisRespaldos\MiBaseDeDatos.BAK’ WITH INIT;
GO
Guardamos el archivo (“Miscript.sql”, por ejemplo).
Volvemos a abrir el editor y tecleamos:
OSQL -E -i C:\Ruta_A_Mi_archivo\Miscript.sql -o C:\Ruta_Deseada\Salida.rpt -n
Guardamos el archivo como “RespaldoMiBase.bat”.
Creamos la tarea programada en Windows, configurandola para ejecute el archivo: “RespaldoMiBase.bat”
Y listo.
El parámetro -E en OSQL significa que se usa una conexión de confianza. Si deseas configurar usuario y contraseña debes usuar los parámetros adecuados:
-U [Nombre de Usuario o Login] y -P [Contraseña]
El parámetro -n significa “no headers”, con ello los encabezados (carácteres y conteo de lineas) no se escribirán.
El parámetro -o significa archivo de salida. Especificando el archivo de salida provocará que lo resultados se impriman a este, pero no a pantalla.
Si utilizas una conexión de confianza no se te olvide incluir “USE [DATABASE]” o referir con ruta completa (BaseDeDatos.schema.Tabla) a las tablas de las base de datos.
No se les olvide probar antes el script SQL, la llamada a OSQL desde la línea de comandos y por último la ejecución del archivo *.bat.
Además, deben recordar que las tareas programadas en Windows dependen de la cuenta de usuario que les asignan, asi que si cambian la contraseña y no actualizan la tarea, esta no se ejecutará.

Related Posts

CURRENT_IDENT y RESEED en Sql Server Compact Edition

admin

April 21, 2018

SQL SERVER

Sql Server Compact Edition no cuenta con funciones como RESEED o CURRENT_IDENT, así que tenemos que hechar mano de consultas a la información de esquema y de alteración de tablas. Como sustituto a IDENT_CURRENT tenemos: Y como sustituto a RESEED tenemos que alterar la tabla: No es tan complejo ciertamente, y útil para lidiar con […]

Read More

Conexión a Sql Server con Php 5.6 linux CentOS 6

admin

March 28, 2016

PHP, SQL SERVER

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: Por ejemplo, para php5.6: Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos conectarnos desde Php, sino desde la linea de comandos, con el programa tsql. Después de instalar, […]

Read More