2010-02-16 5 views
1

Je dispose d'un serveur BizTalk configuré conformément aux instructions de reprise après sinistre BizTalk à l'aide de l'implémentation BizTalk Log Shipping.Échec du travail de l'agent SQL

Sur la sauvegarde SQL Server, appelez-SQL02, « Get histoire de sauvegarde » travail échoue en permanence avec l'erreur suivante:

Executed as user: DOMAIN\User. SQL Server Network Interfaces: Error getting enabled protocols list from registry [xFFFFFFFF]. [SQLSTATE 42000] (Error 65535) OLE DB provider "SQLNCLI10" for linked server "SQL01" returned message "Login timeout expired". [SQLSTATE 01000] (Error 7412) OLE DB provider "SQLNCLI10" for linked server "SQL01" returned message "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". [SQLSTATE 01000] (Error 7412). The step failed.

Ce travail exécute une procédure stockée locale, qui exécute essentiellement une autre procédure stockée sur un serveur lié, appelé SQL01.

Quand j'exécuter cette procédure stockée dans une fenêtre de requête sur SQL02:
EXEC [SQL01].[BizTalkMgmtDb_Prod].[dbo].[sp_GetBackupHistory]
il exécute sans aucune erreur.

Lorsque le travail de l'agent SQL tente d'exécuter la même requête, il échoue avec l'erreur ci-dessus.

Pourquoi est-ce que je peux exécuter la procédure manuellement et le travail d'agent sql ne peut pas?

Répondre

0

Vérifiez que les utilisateurs de l'agent sql et de l'instance sql disposent des droits et que les utilisateurs doivent être communs à toutes les instances ou doivent disposer de tous les droits requis.

Dans la requête vous vous connectez via un utilisateur qui a les droits, mais l'utilisateur de l'agent SQL ne l'a pas (selon ce que je crois comprendre).

Vérifiez le gestionnaire de configuration de votre serveur sql pour vérifier les utilisateurs des services du serveur SQL.

+0

J'ai le propriétaire du travail en tant que compte de domaine qui n'est pas mappé au rôle sysadmin. En tant que tel le travail s'exécute en tant que cet utilisateur (selon ma compréhension, quoique très limité) Cela peut être vu dans le message d'erreur; "Exécuté en tant qu'utilisateur: DOMAINE \ Utilisateur." Si je passe le propriétaire à un autre compte, ce compte apparaît dans le message. Chose drôle, c'est si je passe le propriétaire à moi-même (le compte que je peux exécuter la requête manuelle comme) il échoue toujours avec la même erreur! – ryancrawcour

2

J'ai rencontré le même problème et je l'ai résolu en m'assurant que le travail s'exécutait sur une base de données à laquelle le propriétaire du travail a accès.

Questions connexes