none
BULK INSERT CSV RRS feed

  • Frage

  • Hallo zusammen

    Ich möchte gerne einen Automatischen Daten insert machen. Es ist eine generierte Datei welche ist in CSV Format bekomme.
    Den ersten Import habe ich da noch keine Tabelle vorhanden war mit dem WIZARD gemacht. Das war alles super einfach.

    Jetzt kommt das unerwünschte!

    Ich habe mit diesem Query den CSV importieren wollen:

    BULK INSERT dbo.csv
    'C:\test.csv'
    WITH (FIELDTERMINATOR = ';'
              ,ROWTERMINATOR ='\n'
              ,FIRSTROW = 1);
    GO

    Hierbei bekomme ich immer diese Fehler:

    Msg 4866, Level 16, State 8, Line 4

    The bulk load failed. The column is too long in the data file for row 1, column 29. Verify that the field terminator and row terminator are specified correctly.

    Msg 7301, Level 16, State 2, Line 4

    Cannot obtain the required interface ("IID_IColumnsInfo") from OLE DB provider "BULK" for linked server "(null)".

    Was ich noch bemerkt habe ist, wenn ich die CSV anfasse mit Excel und danach nochmals als CSV abspeicher klappt es.
    Fraglich ist weshalb kann er die rohe Datei (ich nenne Sie jetzt mal so) mit dem Import WIzard bearbeiten und mit dem BULK Insert nicht.

    Die Fehlermeldung 4866 habe ich bereits nachgeschaut aber da stand nur was für den 2005 SQL. Ich hingegen habe 2008R2:

    Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86)   Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
    Der zweite Fehler 7301 habe ich keinen Plan was das heissen soll.

    Den BULK INSERT werde ich wenn es dann klappt in ein Job einbinden welcher Täglich die Tabelle updatet.

    Besten Dank für die Hilfe im Voraus.


    Montag, 4. Februar 2013 14:15

Antworten

  • Hallo Mehmet,
    schau Dir doch mal die Rohdaten an, ob sie wirklich Deiner Definition entsprechen.

    Wenn der Wizard (=Integration Services) damit klar kommt, warum nimmst Du dann nicht auch SSIS für den Job?
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    • Als Antwort markiert Mehmet.B Montag, 18. Februar 2013 14:28
    Montag, 4. Februar 2013 14:47
  • Hallo Mehmet,

    das Credential wird verwendet um in seinem Berechtigungskontext das SSIS-Paket auszuführen. Dazu gehören u. a. der Zugriff auf DTEXEC und oft auch noch weitere Pfade im Dateisystem, um Daten zu verarbeiten.

    Ein SQL-Login kann aber mit seiner Berechtigung nicht auf das Windows-Dateisystem zugreifen.

    Du kannst für das Credential auch ein Windows-Konto verwenden, welches sysadmin ist und lokaler Admin auf dem Server.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    • Als Antwort markiert Mehmet.B Montag, 18. Februar 2013 14:30
    Freitag, 8. Februar 2013 13:08

Alle Antworten

  • Hallo Mehmet,
    schau Dir doch mal die Rohdaten an, ob sie wirklich Deiner Definition entsprechen.

    Wenn der Wizard (=Integration Services) damit klar kommt, warum nimmst Du dann nicht auch SSIS für den Job?
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    • Als Antwort markiert Mehmet.B Montag, 18. Februar 2013 14:28
    Montag, 4. Februar 2013 14:47
  • Hallo Mehmet,

    probiere mal einen anderen ROWTERMINATOR wie '\r\n'. Das variiert je nach Tool etwas:
    Angeben von Feld- und Zeilenabschlusszeichen (SQL Server)

    Gruß Elmar

    P. S.: Wenn ich Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) sehe,
    so fehlt Service Pack 2  (unabhängig vom obigen Problem)

    Montag, 4. Februar 2013 15:34
    Beantworter
  • Hallo Christoph,

    Deine Antwort war leider nach gut 45 Minuten noch nicht sichtbar, vermutlich durch das Bridge Problem

    Gruß Elmar

    Montag, 4. Februar 2013 15:37
    Beantworter
  • Deine Antwort war leider nach gut 45 Minuten noch nicht sichtbar, vermutlich durch das Bridge Problem


    Das ist mir auch schon aufgefallen; habe schon einige Male in der Thread-Liste Christoph unter "letzte Antwort" gesehen, im Thread selbst stand aber nicht. Dachte schon, ich müsste langsam mal zum Augenarzt.

    Olaf Helper

    Blog Xing

    Montag, 4. Februar 2013 15:46
  • Hallo Mehmet,

    probiere mal einen anderen ROWTERMINATOR wie '\r\n'. Das variiert je nach Tool etwas:
    Angeben von Feld- und Zeilenabschlusszeichen (SQL Server)

    Gruß Elmar

    P. S.: Wenn ich Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) sehe,
    so fehlt Service Pack 2  (unabhängig vom obigen Problem)

    Hallo Elmar

    Option mit den ROWTERMINATOR'\r\n'  eingestellt. Leider habe ich immer noch den gleichen Fehler.

    Montag, 4. Februar 2013 16:00
  • Hallo Mehmet,

    es gibt leiderverschiedene Verursacher: Überflüssige / fehlende Trennzeichen, vermischte Zeilenende uam.

    Da Du schreibst, dass es nach dem Öffnen / Speichern mit Excel klappt, so könnte die Datei Korrekturbedarf haben.
    Eine Möglichkeit das herauszufinden: Speichere eine Kopie in Excel und mache einen Dateivergleich;
    (entweder mit fc, oder z. B. Notepad++ hat dafür eine Erweiterung => Compare / ALT+D)

    Gruß Elmar

    Montag, 4. Februar 2013 16:23
    Beantworter
  • Hallo Mehmet,

    es gibt leiderverschiedene Verursacher: Überflüssige / fehlende Trennzeichen, vermischte Zeilenende uam.

    Da Du schreibst, dass es nach dem Öffnen / Speichern mit Excel klappt, so könnte die Datei Korrekturbedarf haben.
    Eine Möglichkeit das herauszufinden: Speichere eine Kopie in Excel und mache einen Dateivergleich;
    (entweder mit fc, oder z. B. Notepad++ hat dafür eine Erweiterung => Compare / ALT+D)

    Gruß Elmar

    Hallo Elmar

    Besten Dank für Deine Antwort.
    Das CSV im Roh sieht im Editor wie folgt aus: (geöffnet mit dem Editor)

    spalte1;spalte2;spalte3;spalte4;spalte5spalte1;spalte2;spalte3;spalte4;spalte5spalte1;spalte2;spalte3;spalte4;spalte5

    Wenn ich das File mit Excel anfasse und abspeichere sieht das File folgend aus: (mit diesem File kommt der Script ohne weiteres klar)

    spalte1;spalte2;spalte3;spalte4;spalte5
    spalte1;spalte2;spalte3;spalte4;spalte5
    spalte1;spalte2;spalte3;spalte4;spalte5
    spalte1;spalte2;spalte3;spalte4;spalte5

    Dies sieht für mich wie ein Problem aus als könnte der ROWTERMINATOR dieses  Zeichen nicht erkennen. Das CSV File wird mit einem Java Script generiet. da will ich mich nun wirklich nicht noch darum kümmern. Ich bekomme das File und muss mit dem danach weiter arbeiten.

    Gruss

    Mehmet                   

    Dienstag, 5. Februar 2013 10:57
  • Hallo Mehmet,

    Das Zeichen "F0FA" (hexadezimale Darstellung) ist kein gültiges Zeilenende-Zeichen.
    Allerdings mag noch mehr Unwägbares darin sein, denn der Windows Editor ist nicht gerade das beste Anzeigeinstrument.

    Vermutlich ist es für Unicode (wie UTF-8) erzeugt worden, denn unter einer ANSI Codepage (wie 1252)
    gäbe es nur "Unfug". Nur ist auch unter Unicode kein gültiges Zeichen, und kein Zeilenumbruch

    BULK INSERT/BCP wiederum können mit UTF-8 nichts anfangen, ohne Konvertierung besteht immer ein Fehlerrisiko.

    Am sinnvollsten wäre es, den Erzeuger anzupassen, denn sonst kämpfst Du (unter jeder weitere Nutzer) immer wieder damit.

    Gruß Elmar


    Dienstag, 5. Februar 2013 11:55
    Beantworter
  • Hallo Elmar

    Den Erzeuger kann ich leider nicht anpassen.
    Nebst dem habe ich den Vorschlag mit dem SSIS von Christoph probiert. Dem SSIS steht nichts ihm wege. Er kommt mit dem klar. Die Daten habe ich somit laden können.

    Beim SSIS habe ich demnach andere kleinere Problem... Nun habe ich es mit dem Importer nochmals gemacht, da habe ich das häckchen gesehen, dass es den SSIS Packet sicher. Nun wüsste ich auch gerne wo das SSIS Packet gespeichert ist. Dann könnte ich ja gerade ein Job einrichten...
    Glaubt mir habe wirklich überall gesucht aber nichts gefunden.

    @ Christoph wo steckt dieser Kerle das hin?

    Dienstag, 5. Februar 2013 13:08
  • Das ist leider immer ein Problem der Bridge.
    Was hilft, ist z. B. über das Web-Front-End zu posten, oder ein leeres Posting über das Web-Front-End zu machen. Das kann man auch gleich wieder löschen und alle anderen Postings sind plötzlich sichtbar.

    Aber ich mag das Web-Front-End nicht ...

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    Dienstag, 5. Februar 2013 13:29
  • Hallo Mehmet,

    auf der letzten Seite vom Wizard definierst Du doch, wo er das hinspeichern soll. Filesystem oder SQL Server. Dann findest Du es entweder in der msdb, oder im Filesystem.

    Erstelle Dir dann ein Projekt mit dem BIDS und füge das Paket hinzu.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    Dienstag, 5. Februar 2013 13:32
  • Hallo Mehmet,

    auf der letzten Seite vom Wizard definierst Du doch, wo er das hinspeichern soll. Filesystem oder SQL Server. Dann findest Du es entweder in der msdb, oder im Filesystem.

    Erstelle Dir dann ein Projekt mit dem BIDS und füge das Paket hinzu.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/


    Hallo Christoph

    Super feine Sache. Mit dem Import Assistent habe ich die Daten importiert. Dann das SSIS Paket erstellt. Nun habe ich das Paket mit dem SQL Agent als Jobstep einfügen.
    Nun wollte ich den Job ausführen...
    Denkste... Kriege ein Fehler:

      Gestartet: 16:31:38  Fehler: 2013-02-05 16:31:38.22     Code: 0xC0011007     Quelle: {711E0E80-BCCE-4EB7-A358-BDF22C77356D}      Beschreibung: Das Paket kann nicht im XML-Format geladen werden, weil es kein gültiges XML-Format aufweist. Ein XML-Parserfehler wird bereitgestellt.  Fehlerende  Fehler: 2013-02-05 16:31:38.22     Code: 0xC0011002     Quelle: {711E0E80-BCCE-4EB7-A358-BDF22C77356D}      Beschreibung: Fehler beim Öffnen der Paketdatei 'C:\Users\Testimport.dtsx' aufgrund des Fehlers 0x80070005 'Zugriff verweigert'. Dieser Fehler tritt auf, wenn ein Paket geladen wird und die Datei im XML-Dokument nicht ordnungsgemäß geöffnet oder geladen werden kann. Dies ist darauf zurückzuführen, dass beim Aufrufen von 'LoadPackage' ein falscher Dateiname angegeben oder für die XML-Datei ein falsches Format angegeben wurde.  Fehlerende  Das Paket 'C:\Users\Testimport.dtsx'konnte aufgrund von Fehler 0xC0011002 nicht geladen werden.  Beschreibung: Fehler beim Öffnen der Paketdatei 'C:\Users\Testimport.dtsx' aufgrund des Fehlers 0x80070005 'Zugriff verweigert'. Dieser Fehler tritt auf, wenn ein Paket geladen wird und die Datei im XML-Dokument nicht ordnungsgemäß geöffnet oder geladen werden kann. Dies ist darauf zurückzuführen, dass beim Aufrufen von 'LoadPackage' ein falscher Dateiname angegeben oder für die XML-Datei ein falsches Format angegeben wurde.  Quelle: {711E0E80-BCCE-4EB7-A358-BDF22C77356D}  Gestartet: 16:31:38  Beendet: 16:31:38  Verstrichen:  0.016 Sekunden.  Das Paket wurde nicht gefunden.  Fehler bei Schritt.

    Also das Paket habe ich in ein Projekt im SQL BI DEV Studio hinzugefügt und ein debug gemacht.
    Da funktioniert das SSIS Paket...

    Verstehe die Welt nicht.. Weshalb kann das im Agent nicht ausgeführt werden?

    Grüsse

    Mehmet

    Dienstag, 5. Februar 2013 16:00
  • Am 05.02.2013 schrieb Christoph Muthmann [MVP]:

    Das ist leider immer ein Problem der Bridge.

    Ein Problem von der Bridge ist das IMHO nicht. MS hat einen Bug
    eingebaut und lässt sich jetzt Zeit das Problem zu fixen. Postings
    kommen mit 24-stündiger Verspätung, in Ausnahmefällen sogar noch
    länger, an. Und das schon seit 1 Woche, nicht schön.

    Aber ich mag das Web-Front-End nicht ...

    Du bist nicht allein. ;)

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Dienstag, 5. Februar 2013 17:52
  • Hallo Christoph,

    das ist eines von einer ganzen Sammlung an Problemen, mit denen die Foren seit einigen Monaten zu kämpfen haben.

    Ende letzten Jahres waren es vor allem die "Unerwarteter Fehler"-Meldungen im Webbrowser -
    weswegen ich etwas "Foren-Urlaub" gemacht hatte.
    Anfang Januar hat man ein Update der Foren Software vorgenommen;
    Intention war wohl die Performance zu verbessern.
    Raus gekommen sind diverse neue Fehler - wie das Bridge-Problem -
    und die alten sind längst nicht alle behoben.

    Bedauerlicherweise ist IMHO zudem das "Management" dieser Fehler suboptimal.

    Um sich selbst einen Eindruck zu machen, schaue man sich das "reportabug" Forum an.

    Gruß Elmar

    @Mehmet: Entschuldigung für den Offtopic Beitrag.

    Dienstag, 5. Februar 2013 18:28
    Beantworter
  • Hallo Mehmet,

    auf den von Dir gewählten Speicherort kann der SQL Server Agent nicht zugreifen.
    Das allgemeine Benutzer-Verzeichnis ("C:\Users") ist dafür weniger geeignet.
    Auf den Speicherort muss der SQL Server Agent Zugriff haben. Siehe dazu auch:
    Vorgehensweise: Automatisieren der SSIS-Paketausführung mit dem SQL Server-Agent (SQL Server-Video)
    (das Video selbst ist in englisch - trotz des DEU am Ende)

    Was das Datei-Format angeht:
    Welche Einstellungen (insbes. Zeichensatz) führen zur korrekten Verarbeitung?
    Ich habe den leisen Verdacht, dass Deine Anzeige nicht zu den Inhalten passt.
    Wie gesagt: Mit dem Windows Editor findet man das nicht wirklich raus.

    Gruß Elmar

    Dienstag, 5. Februar 2013 18:38
    Beantworter
  • Hallo Winfried und Christoph,

    nein, das ist das weniger ein Zeitproblem, sondern eher ein "Verlinkungsproblem",
    denn auch hier tauchte Christophs Beitrag sofort auf, nachdem ich meinen abgesetzt hatte.

    Vorher sah ich wie Olaf schrieben, zwar seinen Namen als letzte Antwort in der Übersicht,
    aber nicht den Beitrag.

    Robert Breitenhofer hat das bereits als "dirty workaround" geoutet:

    http://social.msdn.microsoft.com/Forums/en-us/reportabug/thread/384f5e9e-771a-4970-b72b-48dc90333f52
    http://social.msdn.microsoft.com/Forums/en-US/reportabug/thread/920405ef-66be-43cb-9c61-d56e2ad1e231

    Gruß Elmar

    Dienstag, 5. Februar 2013 18:45
    Beantworter
  • Hallo Mehmet,

    auf den von Dir gewählten Speicherort kann der SQL Server Agent nicht zugreifen.
    Das allgemeine Benutzer-Verzeichnis ("C:\Users") ist dafür weniger geeignet.
    Auf den Speicherort muss der SQL Server Agent Zugriff haben. Siehe dazu auch:
    Vorgehensweise: Automatisieren der SSIS-Paketausführung mit dem SQL Server-Agent (SQL Server-Video)
    (das Video selbst ist in englisch - trotz des DEU am Ende)

    Was das Datei-Format angeht:
    Welche Einstellungen (insbes. Zeichensatz) führen zur korrekten Verarbeitung?
    Ich habe den leisen Verdacht, dass Deine Anzeige nicht zu den Inhalten passt.
    Wie gesagt: Mit dem Windows Editor findet man das nicht wirklich raus.

    Gruß Elmar

    Hallo Elmar

    was den Editor anbelangt verstehe ich es so nicht ganz. Ich habe auf dem rechner den Note ++ installiert noch. Werde morgen Nachmittag wieder online sein. Dann kann ich das mit dem Editor anschauen. Was musst Du genau wissen? Was soll ich mit dem Editor auslesen? Kenn mich da wirklich nicht so gut aus.

    Ausserdem werde ich das file mal auf in ein anderes Verzeichnis legen. Somit kann ich dann sehen was damit geschieht. Jetzt klickt es auch bei mir. Ich habe ja vorhin auch erwähnt das dieses Paket im BI Dev Studio wunderbar funktioniert. könnte wirklich am Speicherort des Files liegen.
    Bin sehr gespannt auf morgen um 14:00 Uhr. Wenn Du mir bis dahin noch schreiben könntest, was ich noch da im Note ++ auslesen soll für Dich da wäre ich wirklich dankbar.

    Grüsse

    Mehmet

    Dienstag, 5. Februar 2013 23:30
  • Hallo Mehmet,

    geladen / gefunden wurde laut der Fehlermeldung das SSIS Paket nicht.
    Bis zur Dateiverarbeitung ist es somit erst gar nicht gekommen.

    Was die Datei angeht:
    Damit man mehr sehen kann lade Dir bitte einen Hex-Editor
    (z. B. http://www.chip.de/downloads/Hex-Editor-MX_30351843.html)
    Anhand eines Screenshot von der ersten Seite kann man mehr erkennen -
    ggf. kritische Daten übermalen, aber nicht zu viel ;)

    Gruß Elmar

    Dienstag, 5. Februar 2013 23:40
    Beantworter
  • Hallo Mehmet,

    geladen / gefunden wurde laut der Fehlermeldung das SSIS Paket nicht.
    Bis zur Dateiverarbeitung ist es somit erst gar nicht gekommen.

    Was die Datei angeht:
    Damit man mehr sehen kann lade Dir bitte einen Hex-Editor
    (z. B. http://www.chip.de/downloads/Hex-Editor-MX_30351843.html)
    Anhand eines Screenshot von der ersten Seite kann man mehr erkennen -
    ggf. kritische Daten übermalen, aber nicht zu viel ;)

    Gruß Elmar

    Hallo Elmar

    nun stehe ich wieder vor dem Rechner. Ich habe das File im HexEditorMX geöffnet. Ich habe es unter win7 installiert das sollte doch keine Falsche Daten liefern würde ich sagen. Ausserdem was willst Du genau sehen? So wie ich das verstanden habe möchtest du den HEX Wert der zeilenumbrechenden Zeichen haben oder? Das Zeichen zwischen den Zeilen hat einen HEX Wert von 0A. Hier noch der Printscreen habe die Daten bissechen geändert bis auf die Spalten und Zeilen Trennzeichen. a = Zeile 1, b= Zeile 2, c= Zeile3 

    Mittwoch, 6. Februar 2013 17:28
  • Hallo Mehmet,

    wenn Du die Datei geöffnet hast mache eine Kopie (ALT+Drucktaste),
    das kannst Du dann als Bild speichern und hieranzeigen:

    Beispiel Hex-Anzeige

    Windows 7 kommt mit einem Snipping-Tool, womit man Fensterausschnitte erstellen
    und bearbeiten kann, falls Du keine Grafikprogramme etc. installiert hast.

    Gruß Elmar

    Mittwoch, 6. Februar 2013 18:44
    Beantworter
  • Hi Elmar

    Also das verstehe ich jetzt auch nicht... habe mit dem Snipping - Tool auch gearbeitet. den Befehl alt - printscreen kenne ich auch...
    Ich versuch es nochmals. Das Bild habe ich mit Bildeinfügen gepostet, ausserdem darf das bild nur 1MB gross sein... Mal schauen...

    Donnerstag, 7. Februar 2013 07:49
  • Hallo Mehmet,

    leider fehlt in dem Ausschnitt jeder Zeilenumbruch.
    Suche bitte eine Stelle, wo nicht soviel Inhalt in den Spalten steht
    dafür eine oder mehrere Zeilen zu sehen sind.

    Man kann das Bildchen kleiner machen und mit höherer Komprimierung speichern,
    den Kopf sowie Leerraum rechts kann man ggf. auch weglassen.

    Gruß Elmar

    Donnerstag, 7. Februar 2013 08:39
    Beantworter
  • Hallo Mehmet,

    leider fehlt in dem Ausschnitt jeder Zeilenumbruch.
    Suche bitte eine Stelle, wo nicht soviel Inhalt in den Spalten steht
    dafür eine oder mehrere Zeilen zu sehen sind.

    Man kann das Bildchen kleiner machen und mit höherer Komprimierung speichern,
    den Kopf sowie Leerraum rechts kann man ggf. auch weglassen.

    Gruß Elmar

    Hallo Elmar. Also hier kannst du gleich 3 zeilen sehen. a= Zeile 1, b= Zeile 2, c =Zeile 3. Der Curser steht bei einem Punkt und da ist genau der Zeilenumbruch. Ich kann das File schon noch bearbeiten wenn Du das möchtest.

    Gruss

    Mehmet

    Donnerstag, 7. Februar 2013 08:50
  • Hallo Mehmet,

    entschuldige, da waren die Augen wohl noch nicht ganz offen ;-(

    Das "0A" ist ein Zeilenvorschub (LineFeed) => '\n'
    Und somit wäre das von Anfang an richtig gewesen.

    Was allerdings nicht übereinstimmt, ist die Zahl der Spalten.
    Für "a" habe ich 10 mal  ";"
    Für "b" jedoch 27 (wenn ich mich nicht verzählt habe).

    Beim CSV Format gilt: 
    Leere Spalten müssen angegeben werden -  nur manche Programme kommen mit weniger klar -
    BULK INSERT gehört nicht dazu.

    Somit bleibt nur der Weg über SSIS oder aber die Ausgabe richtig zu machen.

    Gruß Elmar

    Donnerstag, 7. Februar 2013 09:15
    Beantworter
  • Hallo Mehmet,

    entschuldige, da waren die Augen wohl noch nicht ganz offen ;-(

    Das "0A" ist ein Zeilenvorschub (LineFeed) => '\n'
    Und somit wäre das von Anfang an richtig gewesen.

    Was allerdings nicht übereinstimmt, ist die Zahl der Spalten.
    Für "a" habe ich 10 mal  ";"
    Für "b" jedoch 27 (wenn ich mich nicht verzählt habe).

    Beim CSV Format gilt: 
    Leere Spalten müssen angegeben werden -  nur manche Programme kommen mit weniger klar -
    BULK INSERT gehört nicht dazu.

    Somit bleibt nur der Weg über SSIS oder aber die Ausgabe richtig zu machen.

    Gruß Elmar

    Hallo Elmar

    Das SSIS automatisiert mit dem Agent zusammen soll wirklich einfach zum einrichten sein. Dauert alles 10 min.
    Natrülich darf man die Fehler nicht Vergessen. Die geliebte Frau Cabotta von der MS zeigt es wirklich super, es klappt aber trotzdem nicht.

    Langsam aber sicher Fühle ich mich wie der Martin Lawrence http://www.youtube.com/watch?v=LTGdAGPDBpo :-(
    Ich habe eigentlich auch kein Bock mich an den Ohren zu reiben.

    Ich möchte gerne mal Schritt für Schritt aufzeigen wie ich es handhabe: (Erstellen Proxy Account mit neuem SQL User)
    Diese Konfiguration mache ich mit dem neuen SYSADMIN.

    1. Erstelle neuen SQL User dieser bekommt gleich die sysadmin Rechte, ich möchte einfach das dies jetzt läuft!

    2. Neue Anmeldeinformation, Name
    Identität: Local\Administratoren
    Kennwort: XXXXX (Passwort vom SQL User, weil der es dann anstossen soll braucht man auch in der Identität das Kennwort des Users welche diesen Ausführt)

    3. erstelle neues Proxykonto
    Gebe dem die Anlmeldeinformationen welche ich vorher erstellt habe. Subsystem ist der SSIS Dienst aktivert

    4. erstelle ich einen neuen SQL Job
    4.1 Jobname
    4.2 Füge neuen Schritt hinzu
    4.3 Schrittname geben
    4.4 Typ als SSIS Paket auswählen
    4.5 Ausführen als : ProxyAccount welcher in 3 erstellt worden ist auswählen
    4.6  Paketquelle als Dateisystem, da ich SSIS Paket bereits erstellt habe.
    4.7 Paket File welches im C:\  dirket liegt
    4.8 Im Register Protokollierung (engl. Logging) wähle ich den Protokollanbieter: SSIS-Protokollanbieter für SQL Servers
    Konfigurationszeichenfolge: DestinationConnectionOLEDB
    4.9 Zeitplanung noch einstellen und ok

    Jetzt führe ich den job mit dem Kontextmenü aus.

    Kriege immer einen Fehler, dass es den Fehler:

    Meldung
    Die Ausführung von Schritt 1 konnte nicht gestartet werden (Ursache: Fehler beim Authentifizieren des Proxys ''XXXXX\NETZWERKDIENST'', Systemfehler: Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort..).  Fehler bei Schritt.

    Das heisst für mich das in der Anmelderichtlinien die Falsche Gruppe ausgewählt worden ist. Ich habe bereits alle gruppen getestet keiner läuft.. Aussdem ist der SQL User sysadmin... Wieso klappt das nicht....

    Ich mache bald Whoosa

    Grüsse

    Mehmet

    Donnerstag, 7. Februar 2013 13:28
  • Hallo Mehmet,

    kennst du meine Anleitung zu dem Thema SSIS für nicht sysadmins?

    http://www.insidesql.org/blogs/cmu/sql_server/ssis-fuer-nicht-sysadmins

    Achte mal auf Prinzipale definieren und die Rechte in der msdb.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/
    Donnerstag, 7. Februar 2013 13:39
  • Hallo Mehmet,

    kennst du meine Anleitung zu dem Thema SSIS für nicht sysadmins?

    http://www.insidesql.org/blogs/cmu/sql_server/ssis-fuer-nicht-sysadmins

    Achte mal auf Prinzipale definieren und die Rechte in der msdb.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    Hallo Christoph

    Ich habe auch die Anleitung von Dir versucht. KLappt einfach nicht.
    Das SSIS muss von keinem domain\user angestossen werden. Kann ich den Proxy nicht als ein SQL user betreiben?
    Das müsste doch auch gehen.

    Grüsse
    Mehmet

    Freitag, 8. Februar 2013 10:42
  • Hallo Mehmet,

    kennst du meine Anleitung zu dem Thema SSIS für nicht sysadmins?

    http://www.insidesql.org/blogs/cmu/sql_server/ssis-fuer-nicht-sysadmins

    Achte mal auf Prinzipale definieren und die Rechte in der msdb.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    Hallo Christoph

    Ich habe auch die Anleitung von Dir versucht. KLappt einfach nicht.
    Das SSIS muss von keinem domain\user angestossen werden. Kann ich den Proxy nicht als ein SQL user betreiben?
    Das müsste doch auch gehen.

    Grüsse
    Mehmet


    Hallo Christoph

    Weshalb kann da kein sysadmin den Job ausführen. Wie muss ich mich bei den credentials melden, damit er den Sysadmin erkennt wird. Die Administratorengruppe müsste gehen...

    Grüsse
    Mehmet
    Freitag, 8. Februar 2013 12:14
  • Hallo Mehmet,

    das Credential wird verwendet um in seinem Berechtigungskontext das SSIS-Paket auszuführen. Dazu gehören u. a. der Zugriff auf DTEXEC und oft auch noch weitere Pfade im Dateisystem, um Daten zu verarbeiten.

    Ein SQL-Login kann aber mit seiner Berechtigung nicht auf das Windows-Dateisystem zugreifen.

    Du kannst für das Credential auch ein Windows-Konto verwenden, welches sysadmin ist und lokaler Admin auf dem Server.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    • Als Antwort markiert Mehmet.B Montag, 18. Februar 2013 14:30
    Freitag, 8. Februar 2013 13:08
  • Hallo zusammen

    Besten Dank für eure Unterstützung. Leider musste ich feststellen, das der Technische User welche ich habe trotz lokalen Admin rechten das SSIS Packet nicht packen konnte.

    Fehler:
    Meldung
    Die Ausführung von Schritt 1 konnte nicht gestartet werden (Ursache: Fehler beim Authentifizieren des Proxys ''XXXXX\NETZWERKDIENST'', Systemfehler: Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort..).

    Nach dem ich einen anderen Domain User welcher auch Admin auf dem Server ist in die Credantials eingefügt habe, so konnte ich den Job tadellos ausführen.
    Verstehe nicht den Ansatz wehalb der Technische User nicht ausführen kann. Obwohl beide Lokal Admin sind auf dem Server.
    Der Ansatz mit dem SSIS war die richtige wahl.

    Grüsse

    Mehmet

    Montag, 18. Februar 2013 15:31
  • Hallo Mehmet,

    schön dass es funktioniert hat.

    Schaue mal hier nach dem NetworkServiceAccount:

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms684272(v=vs.85).aspx

    Das sollte erklären, warum man den nicht im SQL Server für solche Aktionen verwenden kann:
    This account is not recognized by the security subsystem, so you cannot specify its name in a call to the LookupAccountName function.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu/

    Donnerstag, 21. Februar 2013 10:16