0

Ich habe eine gespeicherte Prozedur, die MQ-Dateien von Empfangsort auswählen, verarbeiten und an Speicherort ablegen.SQL-Auftrag und gespeicherte Prozedur

Derzeit funktioniert diese gespeicherte Prozedur nicht, wenn ich sie manuell ausführe.

Dateien werden jedoch automatisch zu einer bestimmten Tageszeit täglich am Speicherort abgeholt und gespeichert. Ich weiß nicht, welche gespeicherte Prozedur dafür aufruft.

Es gibt einen SQL Server-Job, der täglich zu diesem Zeitpunkt eingerichtet wird. Dieser Job ruft dieselbe gespeicherte Prozedur auf, die ich manuell anrufe.

Wenn ich versuche, den SQL-Auftrag manuell auszuführen, werden die Dateien nicht abgeholt.

Wird es in MQ einen Mechanismus geben, um die Dateien auszuwählen und sie an den Empfangsort zu senden?

+0

Wenn Sie es manuell ausführen, wird es als derselbe Benutzer ausgeführt, wenn es automatisch ausgeführt wird? – geofftnz

+0

Ja, es läuft im selben Benutzer! – SmartestVEGA

+0

Können Sie den Code für die gespeicherte Prozedur veröffentlichen? –

Antwort

0

Meine erste Vermutung ist: Domänenzugriffsrechte. Wenn die Prozedur von SQL Agent aufgerufen wird, wird sie unter der Berechtigung (Domänenzugriffsrechte) des Kontos ausgeführt, das den SQL-Agent-Dienst "ausführt". Dieses Konto verfügt über die erforderlichen Zugriffsrechte für die Ordner, auf die Sie zugreifen.

Wenn Sie sich anmelden und die Prozedur aufrufen, wird sie unter Ihren Zugriffsrechten ausgeführt, und Sie verfügen möglicherweise nicht über ausreichende Rechte für diese Zielordner, um die aufgelistete Arbeit auszuführen.

Es könnte komplexer als das sein. Sobald Sie den Bereich der einfachen Datenbankoperation verlassen haben und anfangen, SQL zu verwenden, um in Ihrem Netzwerk herumzuhantieren, gibt es eine Welt von Proxy-Konten und obskuren Funktionen, mit denen Sie sich befassen müssen. Es kann und wurde getan, aber es ist selten einfach zu konfigurieren. Viel hängt davon ab, wie Sie (nun, der Code) implementiert wurde.

+0

Ich habe gerade das Datum/die Uhrzeit bemerkt, zu der diese Frage ursprünglich gepostet wurde. Feh. –