2017-02-15 1 views
1

Einer unserer Jobs, die ein SSIS-Paket zum Löschen von Dateien mit einem Skript-Task (C# File.Delete) ausführt, verhält sich auf seltsame Weise unten. Kann uns jemand helfen, den Grund dafür zu verstehen?SQL Server Agent-Job - SSIS - C# - "Zugriff verweigert." Beim Versuch, Dateien zu löschen

Nachfolgend werden die grundlegenden Bedingungen:
1. SQL Server-Agent-Dienst die Anmeldekonto: DomainA \ AAA
2. Besitzer des Auftrags: DomainA \ AAA
3. DomainA \ AAA ist ein Mitglied der lokalen „Administratoren "Gruppe

Was wir gefunden ist seltsam:
der Auftrag mit der Meldung fehlschlägt‚Zugriff auf den Pfad E: \ XXXX \ pp.csv verweigert‘, wenn der Vollzugriffsrechte gegeben wurden nur zu‚Administratoren‘Fenster Gruppe und Erfolge Wenn Vollzugriff auf den Benutzer "DomainA \ AAA" Fenster direkt gewährt wird.

Vor der obigen Fehlermeldung heißt es "Der Schritt wurde ausgeführt als: DomainA \ AAA".

Version Info:
SQL Server 2008 SP2 (10.0.4000)
Windows 2003 R2 x64 SP2

Hinweis:
1. English Meldungen sind über Eigene Übersetzung unserer Sprache, und es wäre nicht genau denen in der englischen Version entsprechen.
2. Das SSIS-Paket ist so vereinfacht, dass diese eine Skriptaufgabe nur zum Testen dient.

+0

Sagt es, warum der Zugang verweigert wurde? Normalerweise sehe ich das, wenn ich die Datei geöffnet habe. Läuft Ihr Programm als Administrator? –

+0

Danke für die schnelle Antwort. Der Job wird von DomainA \ AAA ausgeführt, einem Mitglied der Gruppe "Administartors". Könnten Sie uns wissen lassen, was den Unterschied zwischen der direkten und direkten Benutzerzugriff auf einen Benutzer und einer Gruppe, zu der der Benutzer gehört, gibt? – yobioo

Antwort

1

Versuchen Sie diesen Blog, um Informationen über die Berechtigung für dieses Verzeichnis und diese Datei zu erhalten. Ich hoffe, dieser Code wird Ihnen helfen, herauszufinden, welche Berechtigung Sie für diesen Benutzer vergeben müssen. http://craigot.blogspot.com/2012/09/ssis-checking-filefolder-permissions.html

+0

Dank Shuvankar, habe ich versucht, den Code und das Ergebnis war "System.UnauthorizedAccessException: Benutzer (Agent Service Logon Account) hat keine Berechtigung zu ReadData aus Ordner E: \ XXX", obwohl das Konto das Mitglied der Administratoren und Administratoren ist Vollzugriff Zugriff auf den Ordner. Nachdem ich dem Benutzer selbst Vollzugriff auf den Ordner gegeben hatte, war es tatsächlich erfolgreich. Es ist schwer zu verstehen, da der Agent-Job zumindest eine Datei im Ordner lesen kann. – yobioo

2

Können Sie überprüfen, Wetter in dem Ordner, den Sie alle Berechtigungen (Lesen und Schreiben) für die Administratorengruppe gegeben haben. Wenn dies nicht funktioniert, ändern Sie den Ordner und versuchen Sie es einmal.

+0

Ja, ich habe die Vollzugriffsberechtigung für die Administratorengruppe erteilt, aber es funktioniert nicht. Obwohl ich dem Benutzer selbst Vollzugriff erteilt habe, funktionierte es. – yobioo

Verwandte Themen