He programado un trabajo xyz
en el Agente de trabajo de SQL Server. Ahora quiero invocar el trabajo desde mi aplicación de Windows.Cómo invocar el trabajo en el agente de SQL Server desde la aplicación de Windows
Respuesta
Llamar al sp_start_job
.
exec msdb.dbo.sp_start_job @job_name = 'YourJobName'
MSDN Reference on sp_start_job
SqlConnection DbConn = new SqlConnection(YourConnectionString);
SqlCommand ExecJob = new SqlCommand();
ExecJob.CommandType = CommandType.StoredProcedure;
ExecJob.CommandText = "msdb.dbo.sp_start_job";
ExecJob.Parameters.AddWithValue("@job_name", "YourJobName")
ExecJob.Connection = DbConn; //assign the connection to the command.
using (DbConn)
{
DbConn.Open();
using (ExecJob)
{
ExecJob.ExecuteNonQuery();
}
}
Los trabajos de los agentes generalmente son solo scripts que ejecutan consultas de todos modos. ¿Hay alguna razón por la que no pueda ejecutar la consulta de que el trabajo del agente se está ejecutando de todos modos?
Agent solo se encarga de las notificaciones de programación y falla, etc. Esto es un poco simplificado, pero el agente es principalmente un programador con alertas que ejecuta consultas. Intente crear un script para su trabajo de agente y vea si es algo que puede pasar a un procedimiento almacenado que ejecuta tanto el agente como su aplicación.
El documentation describe todas las opciones. Puede utilizar SMO Job class desde C# u otro idioma .NET si prefiere no utilizar TSQL.
Gracias. ¿Sabes si esto utiliza WMI en segundo plano? –
@TomRedfern SMO [wrap WMI] (http://msdn.microsoft.com/en-us/library/ms162557.aspx) para algunas operaciones (como trabajar con los servicios de SQL Server), pero para muchos solo genera TSQL y lo envía al servidor. – Pondlife
- 1. Trabajos del Agente SQL Server: Cómo ejecutar un paso de trabajo sin ejecutar todo el trabajo
- 2. Ejecutar el trabajo del Agente SQL Server desde un procedimiento almacenado y devolver el resultado del trabajo
- 3. Cómo supervisar la información del trabajo del Agente SQL Server en C#
- 4. ¿Ejecuta una aplicación de consola C# del Agente SQL Server (trabajo)?
- 5. Conectar carriles de aplicación a SQL Server 2005 desde Windows
- 6. Cómo conectarse a sql-server con la autenticación de Windows desde el servicio de Windows?
- 7. ¿Cómo se muestra el error en el paso de PowerShell llamado desde el trabajo de SQL Server 2008 R2?
- 8. Agente SQL Server no ejecutándose
- 9. Agente SQL Server - obtener mi propio job_id
- 10. ¿Dónde puedo almacenar la contraseña cifrada confidencial en un trabajo de agente de SQL Server?
- 11. Invocar el archivo por lotes de Windows desde Linux
- 12. ¿El ensamblado se ejecuta en SQL Server o desde una aplicación de Windows?
- 13. ¿Dónde guarda el Agente de SQL Server los trabajos?
- 14. SQL Server Agent Trabajo en ejecución lenta
- 15. Sql Server Trabajo del agente ejecutándose más tiempo que el intervalo entre ejecuciones
- 16. ¿Puedo conectarme a SQL Server usando la Autenticación de Windows desde la aplicación web Java EE?
- 17. Tiempo de espera del trabajo de SQL Server
- 18. ¿Cómo ejecuto un procedimiento almacenado en un trabajo del Agente SQL?
- 19. la mejor manera de conectar el servidor sql (autenticación de Windows vs autenticación de SQL Server) para la aplicación asp.net
- 20. ¿Cómo se ejecuta el archivo exe del agente o trabajo sql?
- 21. Cómo invocar la calculadora de Android desde una aplicación
- 22. Cómo modificar a granel el comando de paso de trabajo en TODOS los trabajos de agente de servidor sql
- 23. Función de servidor para ejecutar trabajos del Agente SQL Server en SQL SERVER 2008
- 24. ¿Cómo invocar generadores desde el código?
- 25. Habilitar/deshabilitar el Agente de servidor SQL Server utilizando un script t-sql
- 26. Invocar Adobe Reader desde mi aplicación Android
- 27. Tabla en Excel desde SQL Server procedimiento almacenado con campo de parámetro en el libro de trabajo
- 28. ¿Cómo puedo encontrar el número de puerto del servidor SQL desde el registro de Windows?
- 29. ¿Cómo ejecutar la aplicación de consola desde el servicio de Windows?
- 30. Cómo invocar un método en el subproceso de interfaz de usuario desde dentro de un subproceso de trabajo?
En mi caso, conozco la identificación del trabajo ... quiero que ese trabajo se modifique con la ayuda de la aplicación de Windows. – user824910
MSDB tiene la mayoría de los agentes de datos. Eche un vistazo por allí y, aunque no lo he hecho yo mismo, estoy seguro de que puede cambiarlo actualizándolo directamente. Sin embargo, esto puede ser un poco peligroso, y me parece que un servicio de Windows sería una mejor solución para lo que estás tratando de hacer. Su OP dijo que quería invocarlo, pero ahora está diciendo que quiere cambiarlo ... ¿es así? – Gats