karkenau 11 Geschrieben 19. November 2013 Melden Teilen Geschrieben 19. November 2013 Hallo zusammen, ich habe folgendes Problem: Ich habe im SQL Server Managment Studio einen Wartungsplan eingerichtet (Typ Wartungscleanup) , der die Berichtdateien der anderen Wartungsjobs löschen soll, wenn diese älter als X Tage sind. Die Einstellungen des Jobs sind: Dateien folgenden Typs löschen: Texberichte für Wartungsplan Ordner durchsuchen und Dateien anhand einer Dateiendung löschen: Ordner: Z:\ Dateierweiterung: txt Dateien anhang Ihres Alters zur Tasklaufzeit löschen: Dateien löschen die älter sind als "1 Tag". Der SQL Agent hat Änderungsrechte auf das Verzeichnis. Der Job wird täglich ausgeführt hat, es werden aber keine Dateien gelöscht und der Job ohne Fehlermeldung beendet. Jemand eine Idee, warum die Dateien nicht gelöscht werden? Danke für Eure Hilfe schon mal. Gruß karkenau Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 19. November 2013 Melden Teilen Geschrieben 19. November 2013 Moin, ist der "Ordner" Z:\ ein Netzlaufwerk oder tatsächlich ein lokales Laufwerk am Server? Was steht im Logfile des Wartungsjobs (ich denke, du hast eines hinterlegt) ? Um welche Version des SQL-Servers handelt es sich den? Gruß Sanches Zitieren Link zu diesem Kommentar
karkenau 11 Geschrieben 19. November 2013 Autor Melden Teilen Geschrieben 19. November 2013 Moin, der Ordner Z:\ ist ein ISCSI Ziel auf einer NAS. Im Logfile steht folgendes: Hilfsprogramm für die Microsoft® Serverwartung (Unicode), Version 11.0.3128Der Bericht wurde auf xxxxx\xxxSQL' generiert.Wartungsplan: Datensicherung (Berichtdateien) aufräumenDauer: 00:00:00Status: Erfolgreich.Details:Task 'Wartungscleanup' (xxxxxxx\xxxSQL)Wartungscleanup für Lokale SerververbindungCleanup für Wartungsplanbericht-Dateien ausführenAlter: älter als 1 TageTaskbeginn: 2013-11-19T00:30:02.Taskende: 2013-11-19T00:30:02.ErfolgBefehl:EXECUTE master.dbo.xp_delete_file 1,N''Z:\'',N''txt'',N''2013-11-18T00:30:02''GO Es handelt sich beim SQL Server um einen SQL Server 2012. Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 19. November 2013 Melden Teilen Geschrieben 19. November 2013 Hm, das sieht zunächst mal nicht schlecht aus (zumal ja auch Status:Erfolgreich angegeben ist) Der SQL Agent hat Änderungsrechte auf das Verzeichnis. D.h. auch deine SQL-Dienste laufen entsp. unter eine Account welcher Rechte hat? Welche Rechte haben aktuell die (Log-)Dateien, welche gelöscht werden sollen? Liegen diese direkt unter Z:\ oder in einem Unterordner? Steht evtl. noch was im Eventlog des Servers oder dem Systemlog der NAS noch etwas? Zitieren Link zu diesem Kommentar
karkenau 11 Geschrieben 19. November 2013 Autor Melden Teilen Geschrieben 19. November 2013 Hallo, ich habe dem SQLAgent Dienst Änderungsrechte auf dem Verzeichnis gegeben, in dem die Dateien liegen: Hier ein Screenshot der Dateirechte: Und hier die Rechte auf dem Verzeichnis: In den Ereignisprotokollen ist ansonsten nichts weiter zu finden. Interessant ist vielleicht noch, das ich noch zwei weitere Jobs laufen habe, die die überflüssigen Transaktionsprotokolle (trn) und Datenbanksicherungen (bak) löschen. Dies funktioniert auch tadellos. Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 19. November 2013 Melden Teilen Geschrieben 19. November 2013 (bearbeitet) ich habe dem SQLAgent Dienst Änderungsrechte auf dem Verzeichnis gegeben, in dem die Dateien liegen .... Genau da wird evtl. der Hund begraben sein - siehe mein Hinweis aus #4 (Zitat: Liegen diese direkt unter Z:\ oder in einem Unterordner?). Wenn du in deinem Wartungsplan direkt das Laufwerk Z:\ ansprichst (siehe Auszug #3 von dir), deine Logs aber in einem (direkten!) Unterordner liegen (z.B. Z:\Daten), musst du dazu den entsp. Haken im Wartungsplan anklicken. Liegen die Logs evtl. ein einem weiteren Unterordner (Beispiel: Z:\Daten\Wartung\Logs), so wird der Job keine Daten mit der Endung *.txt löschen können, da er diese einfach nicht findet. bearbeitet 19. November 2013 von Sanches Zitieren Link zu diesem Kommentar
karkenau 11 Geschrieben 19. November 2013 Autor Melden Teilen Geschrieben 19. November 2013 Das wäre ja zu einfach als Lösung :-) Nee, nee, die Daten liegen schon genau da wo ich auch die Konfiguration hingeführt habe. Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 19. November 2013 Melden Teilen Geschrieben 19. November 2013 Entschuldige bitte, entweder sehe ich hier etwas anderes oder wir reden einfach aneinander vorbei! Leider sind die entsp. Daten mit schwarzen Balken verdeckt. Dein erster Screenshot unter #5 (Dateirechte) zeigt einen Ordner an (Vermutung: "Z:\SAPSQL\Datensicherung (Berichtdateien)" - siehe Fenstertitel) Dein zweiter Screenshot unter #5 (Verzeichnisrechte) zeigt einen Unterordner an (Ich kann jetzt auch nur vermuten "Z:\SAPSQL"). Hingegen deinem Auszug aus dem Logfile (unter #3) bzw. dem Wartungsplan zeigt: ... EXECUTE master.dbo.xp_delete_file 1,N''Z:\'',N''txt'',N''2013-11-18T00:30 ... - also direkt im Laufwerk Z (ohne Unterordner)! Demnach sucht der Wartungsplan direkt unter Z:\ nach den Dateien und (wenn meine Vermutungen richtig sein sollten) nicht in den Unterordnern wo die relevaten Daten evtl. liegen könnten. Sollte ich jedoch mit meinen Vermutungen falsch liegen -> Sorry. Zitieren Link zu diesem Kommentar
karkenau 11 Geschrieben 19. November 2013 Autor Melden Teilen Geschrieben 19. November 2013 Das kommt davon wenn man zu sehr darauf achtet nicht zu viele Daten preiszugeben, sorry. Also der Pfad lautet tatsächlich Z:\SAPSQL Und der passende Befehl dazu lautet: Befehl:EXECUTE master.dbo.xp_delete_file 1,N''Z:\SAPSQL'',N''txt'',N''2013-11-18T08:26:55'' Sorry nochmal für die Verwirrung, wie gesagt, ich wollte nicht zu viel preisgeben. Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 20. November 2013 Melden Teilen Geschrieben 20. November 2013 OK, aber bitte schon beim "nicht-zu-viele-Daten-preisgeben" zumindest bei irgendwelchen Text- oder Code-Blöcken (z.B. wie im EXECUTE Command) zumindest irgendwas eintragen (z.B. Z:\DATENXYZ) anstelle es ganz weg zu löschen - führt sonst auf eine falsche Fährte... Da aber die beiden anderen Wartungspläne jedoch funktionieren (bak + trn), würde ich dir vorschlagen, den Wartungsplan für die Protokolle einfach nochmals neu zu erstellen. Vielleicht wurde doch eine Kleinigkeit bei der Erstellung übersehen. Anders kann ich es mir nicht erklären, der Rest sieht, m.M.n., in Ordnung aus. Zitieren Link zu diesem Kommentar
karkenau 11 Geschrieben 20. November 2013 Autor Melden Teilen Geschrieben 20. November 2013 Ok, ich werden Deinen Ratschlag bezüglich den Daten übernehmen. Ansonsten werde ich den Job tatsächlich nochmal neu anlegen. Danke. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.