2016-08-09 4 views
1

Okay, alles, das Thema ist eine ziemlich schlechte, aber ich bin mir nicht sicher, wie es anders zu sagen. Ich habe Server 2012 mit einer Reihe von Jobs, alle im Besitz von sa. Sie alle haben gut funktioniert, seit ich hier im Januar 2016 angefangen habe zu arbeiten, aber wir haben kürzlich große Änderungen an unseren Servern vorgenommen. Momentan haben wir einige Server außerhalb der Domäne und sind gemeinsam als Arbeitsgruppe eingerichtet. Sie sind Klone von dem, was wir vor dem Aufrütteln ausgeführt haben, also schließen Sie alle Daten/Logins ein. Der Hauptunterschied besteht darin, dass sie nicht mehr mit unserem Active Directory kommunizieren können.Sehr verwirrt über SQL Server/SSMS-Job Netzwerkzugriff/Konten

Zurück zu SQL Server. Einige der Jobs auf dem Server müssen von einem FTP-Ordner auf einem der Server, der sich in derselben Arbeitsgruppe befindet, lesen und in diesen schreiben. Das heißt, sowohl der Server 2012 als auch der FTP-Server befinden sich in der gleichen Arbeitsgruppe. Daher sollten problemlos miteinander kommunizieren. Einige der Aufträge werden jedoch aufgrund von Anmeldefehlern beim Versuch, eine Verbindung mit dem FTP-Server herzustellen, weiterhin fehlgeschlagen. Ich verwende nicht FTP, sondern Netzwerkstandorte wie \\1.2.3.4\ftp\folder\file.txt in meinem Jobcode. Dies funktionierte perfekt, bis die Server umzogen. Überspringe die langen und verwirrenden Gründe warum, genügt es zu sagen, dass dieser Server für einige Zeit nicht mehr in Kontakt mit Active Directory sein wird. In der Tat kann es nicht passieren, bis wir sein Gegenstück auf der Domäne schließen können. Allerdings können wir das nicht tun, bis ich diesen funktionierenden Sans-Domain-Kontakt bekomme. Wieder eine lange Geschichte hinter dem Catch-22.

Meine Fragen nach mit all dies zu tun, sind:

  • Wenn der Job in Frage sa gehört, warum die Protokolle von nt access\network Autorität Anmeldeversuche zeigen?
  • Wie/wo kann ich den Benutzernamen/das Passwort ändern, mit dem der Server 2012 mit dem FTP-Server kommuniziert?
  • Gibt es eine Möglichkeit, auf den FTP-Server zuzugreifen, wenn die Arbeitsgruppe eingerichtet ist, ist das einfacher als das, was ich jetzt versuche? So teilen Sie beispielsweise Einstellungen im FTP-Ordner?

Danke für alle Erklärungen, die jemand anbieten kann. Ich bin völlig verwirrt über Berechtigungen, Accounts, Anmeldeinformationen und Remotezugriff und habe keine Ahnung, wohin ich mich wenden soll, nachdem ich all dies erschöpfend gegooglet habe.

+0

Wie greifen Sie auf FTP, wenn Sie nicht SSIS verwenden? Mit 'xp_cmdshell'? – GSerg

+0

Ja, genau. Die meisten der fraglichen Jobs finden Daten aus einer oder mehreren Datenbanken, kompilieren sie in eine temporäre Tabelle und verwenden dann bcp, um sie in Dateien auszugeben, die über cmdshell in \\ someIP \ ftp \ someFolder \ info.txt gespeichert werden. So wurde es eingerichtet, als ich hier anfing zu arbeiten, also habe ich das weiter gemacht. Ich habe noch nie mit MSSQL oder Jobs gearbeitet, die es vorher ausgeführt haben. – AH16

+0

Wenn ich FTP sage, meine ich einen FTP-Server, auf den unsere Kunden zugreifen sollen.Wir stellen die Daten dort für sie über den lokalen Netzwerkzugang bereit. Wir verwenden FTP nicht direkt, aber wenn es einen Weg dafür gibt, sollten wir dies vielleicht anstelle der aktuellen Direkt-über-Netzwerk-Methode berücksichtigen. – AH16

Antwort

0

Ich habe nicht mit Servern gearbeitet, die nicht mit der Domäne verbunden waren, aber ich hatte ähnliche Probleme bei der Verwendung von SSIS über Subdomains (siehe Originalantwort unten für weitere Details). Ich würde das Setup von SQL-Server betrachten und sehen, welche Dienstkonten für den SQL-Datenbankdienst und den SQL-Agent-Dienst verwendet wurden (siehe https://msdn.microsoft.com/en-us/library/ms143504.aspx). Stellen Sie außerdem sicher, dass die Serverkonten über Berechtigungen für die Speicherorte des Dateisystems verfügen (Sie haben dies wahrscheinlich schon getan, aber nur für den Fall).

Ursprüngliche Antwort für SSIS-Situationen (Ich habe missverstanden, dass der Fragesteller SSIS nicht verwendet hat): Sie müssen möglicherweise einen Proxy einrichten, um zu steuern, welches Konto verwendet wird. Es gibt einen Abschnitt über Proxies in diesem Artikel, den Sie hilfreich finden könnten. Ich schlage vor, den ganzen Artikel zu lesen, es könnte etwas Licht werfen.

https://www.simple-talk.com/sql/database-administration/setting-up-your-sql-server-agent-correctly/

+0

Danke. Von diesem Artikel und anderen, die ich seitdem in Bezug auf Proxy-Konten nachgeschlagen habe, sieht es so aus, als ob Proxies für SSIS-Pakete sind? Die Jobs, die ich habe, sind fast nur T-SQL, und ich kann keine Möglichkeit finden, einen Berechtigungsnachweis anzugeben, der verwendet werden soll, wenn diese ausgeführt werden. – AH16

+0

Nach mehr lesen, Proxies sind definitiv nur für SSIS. Jobs, so scheint es, erhalten von ihrem Besitzer Anmeldeinformationen. Das führt mich zu meiner ursprünglichen Frage zurück: Wie lege ich die Credentials fest, die ein Jobeigentümer hat, die dann verwendet werden, um während der Jobausführung mit einem Arbeitsgruppencomputer zu sprechen? – AH16

+0

Entschuldigung, ich habe eine Annahme gemacht, dass Sie SSIS verwendet haben, da Sie über einen FTP-Standort sprachen. – Sean