2008-09-10 12 views
9

Ahora tengo un paquete SSIS que se ejecuta todas las mañanas y me da un informe sobre la cantidad de paquetes que fallaron o tuvieron éxito el día anterior. La información para estos paquetes está contenida parcialmente en la tabla sysjobs (una tabla del sistema) dentro de la base de datos msdb (una base de datos del sistema) en SQL Server 2005.¿Cómo acceder a bases de datos/tablas del sistema usando LINQ to SQL?

Al intentar mover el paquete a un ejecutable C# (sobre todo para obtener un mejor formato sobre el correo electrónico que se envía), no pude encontrar una forma de crear un archivo dbml que me permitiera acceder a estas tablas a través de LINQ. Traté de buscar las propiedades que harían visibles estas tablas, pero no tuve mucha suerte.

¿Esto es posible con LINQ to SQL?

Respuesta

22

Si estás en el Explorador de servidores, puede hacerlos visibles de esta manera:

  • crear una conexión con el servidor que desee.
  • Haga clic con el botón derecho en el servidor y elija Cambiar vista> Tipo de objeto.
  • Ahora debería ver Tablas del sistema y Tablas de usuario. Debería ver sysjobs allí, y puede arrastrarlo fácilmente a una superficie .dbml.
+0

Perfecto. ¡Gracias! – jerhinesmith

+0

Cuando amplío las tablas del sistema, no veo ningún sysjobs allí, cómo mostrar sysjobs o cualquier otra razón por la que no se muestra ??? – Ash

+0

@Ash, ¿está seguro de que el usuario/contraseña que está utilizando tiene permiso para verlos? Si está utilizando seguridad integrada, ¿está seguro de que su usuario tiene permiso para verlos? –

0

Puede que no esté disponible en el diseñador, pero ¿por qué no agregarlo al archivo DBML?