departure69
Goto Top

Taskplaner bzw. Aufgabenplanung, Ergebnis: 0x1, Batchdateien funktionieren aber manuell!

Hallo.

ich habe an einem W2K8R2 x64 SP1 (mit allen aktuellen Patches) ein Problem mit dem Taskplaner:

Für jeden Wochentag ist ein Batch-Job geplant, der ein SQL-Skript zum Online-Backup einer MSSQL2008R2-DB (liegt auf dem gleichen Server) ausführt.

Die Batch-Dateien und die SQL-Skripte funktionieren wunderbar, wenn ich die Batch-Dateien mit den gleichen Nutzerrechten wie bei dem User im Taskplaner manuell ausführe (Doppelklick). Die *,bak-Dateien werden brav ins Zielverzeichnis geschrieben, fertig.
Soweit, so schlecht face-sad.
Denn: Die Tasks im Taskplaner (bzw. heißt es seit W2K8 "Aufgabenplanung") kriegen als Ergebnis immer ein 0x1, was meines Wissens auf mangelnde Rechte hindeutet. Jedoch, wie gesagt, manuelles Ausführen der Batches per Doppelklick funktioniert einwandfrei, dann kann es an mangelnden Rechten eigentlich doch nicht liegen, oder?

Weiß dazu jemand etwas? Wäre klasse.

Vielen Dank schonmal.

Grüße

von

departure

Content-ID: 217935

Url: https://administrator.de/contentid/217935

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

Penny.Cilin
Penny.Cilin 26.09.2013 um 15:41:14 Uhr
Goto Top
Hallo,

net helpmsg 1 liefert mir als Ergebnis Unzulässige Funktion.

Wenn das manuelle Ausführen funktioniert und per Taskplaner nicht, dann musst Du vielleicht den vollen Pfad zu dem Batchjob angeben.
Wie rufst Du den Batchjob im Taskplaner auf?

ich habe hier ein Powershellskript und im Reiter Actions folgendes angegeben:
Program/Script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments: -command "& 'D:\Program Files\<pfad>\<scriptname>.ps1' "

Wobei <pfad> und <scriptname> sinngemäß zu ersetzen sind.


Gruss Penny.
departure69
departure69 26.09.2013 um 15:52:53 Uhr
Goto Top
Zitat von @Penny.Cilin:
Hallo,


Hallo.

net helpmsg 1 liefert mir als Ergebnis Unzulässige Funktion.

Wenn das manuelle Ausführen funktioniert und per Taskplaner nicht, dann musst Du vielleicht den vollen Pfad zu dem Batchjob
angeben.

Meines Erachtens ist der vollständige Pfad angegeben: "C:\Program Files\ATOSS\Sicherungstools\backup_so.bat" - den hatte ich so aus dem Durchsuchen-Dialog erhalten (ist jetzt beispielsweise die Batch-Datei für den Sonntag).

Wie rufst Du den Batchjob im Taskplaner auf?

ich habe hier ein Powershellskript und im Reiter Actions folgendes angegeben:
Program/Script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments: -command "& 'D:\Program Files\<pfad>\<scriptname>.ps1' "

Wobei <pfad> und <scriptname> sinngemäß zu ersetzen sind.

Hhmm, die Batchdatei sieht so aus:

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S RH-ZEIT-002\ATOSS -i backup_di.sql

wobei die SQL-Skripte im gleichen Verzeichnis wie die Batchdateien liegen. Wenn ich hier jetzt "Argumente hinzufügen:" und "Starten in:" brauche (unter W2K3 brauchte ich das definitiv nicht), wo gehört dann was hin?

-S RH-ZEIT-002\ATOSS ist die Angabe des Servers und der SQL-Instanz,
-i backup_di.sql ist die Angabe des SQL-Backup-Skriptes, das ausgeführt werden soll

Was muß ich jetzt tun?

Danke erstmal.



Gruss Penny.


Grüße

von

departure
-ricardo-
-ricardo- 26.09.2013 aktualisiert um 16:17:31 Uhr
Goto Top
Unter Umständen musst du einfach nur "Unabhängig vom Angemeldeten Benutzer ausführen" auswählen.

Sonst mal hier rein schauen.: http://www.office-loesung.de/ftopic227529_0_0_asc.php
DerWoWusste
Lösung DerWoWusste 26.09.2013, aktualisiert am 09.10.2014 um 18:14:55 Uhr
Goto Top
Moin.

Was administrative Rechte benötigt miuss im Taskplaner auch so gekennzeichnet werden, ein Adminnutzer alleine reicht nicht ->Haken setzen bei "mit höchsten Rechten ausführen". Zudem muss der ausführende Benutzer das Privileg "Anmelden als Stapelverarbeitungsauftrag" besitzen - das musst Du in Domänen sogar per GPO setzen.
Besser wäre es wegen letzterem, das Systemkonto zu nutzen. Dazu muss "System" natürlich auch auf die SQL-Datenbank Rechte bekommen.
departure69
departure69 26.09.2013 aktualisiert um 18:15:53 Uhr
Goto Top
@all:

Danke für die Meldungen und Kommentare.

Ich habe jetzt den optionalen Pfad, in dem sich die Batchdatei befindet (außerdem die *bat in *.cmd umbenannt), eingetragen und als Programm-/Skriptname nur noch die cmd ansich, außerdem lasse ich die Tasks mit höchster Priorität laufen. Siehe da, es geht nun.

Danach hatte ich bei einem alternativen User "Tasksched" noch Probleme mit dem SQL-Skript, aber es kann ja auch nicht funktionieren, wenn der taskausführende User keine DB-Berechtigung hat face-wink.

Vielen Dank für Eure Hilfe.

Gelöst.

Grüße

von

departure
Systembastler
Systembastler 08.10.2014 um 17:29:22 Uhr
Goto Top
Zitat von @DerWoWusste:

Moin.

Was administrative Rechte benötigt miuss im Taskplaner auch so gekennzeichnet werden, ein Adminnutzer alleine reicht nicht
->Haken setzen bei "mit höchsten Rechten ausführen". Zudem muss der ausführende Benutzer das Privileg
"Anmelden als Stapelverarbeitungsauftrag" besitzen - das musst Du in Domänen sogar per GPO setzen.
Besser wäre es wegen letzterem, das Systemkonto zu nutzen. Dazu muss "System" natürlich auch auf die
SQL-Datenbank Rechte bekommen.

Danke, Super Tip, habe ich heute Domänenweit für unsere Admins gesetzt. Ständig sind bei uns die batch Aufträge gescheitert. Das Recht "Anmelden als Stapelverarbeitungsauftrag" hat gefehlt.