Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MS-SQL-Server - Probleme mit dynamischen Dateinamen bei DTS-Task

Mitglied: greyhound

greyhound (Level 1) - Jetzt verbinden

16.06.2008, aktualisiert 18.10.2012, 5885 Aufrufe, 10 Kommentare

Dateiname wird nicht zuverlässig ersetzt

MS-SQL-Cracks bitte melden

Seit einiger Zeit habe ich ein seltsames Problem mit unserem SQL-Server.

Hier zunächst die Aufgabenstellung und mein Lösungsansatz.
Für ein Auswertungsprogramm benötigen wir aus einer MSSQL Datenbank täglich Selektionen verschiedener Daten in Form von (kleinen) ASCII-Dateien.

Ich habe hierzu ein spezielles DTS-Paket erstellt, welches zu einem festgelegten Zeitpunkt entsprechende SQL-Scripts ausführt und die Ergebnisse in entsprechende ASCII-Dateien ausgibt. (MS-SQL will wegen der Transformationsregeln hierzu einen konkreten Dateinamen angegeben haben. )
Da die Dateien aber nicht überschrieben werden sollen, habe ich in einem zweiten Schritt über entsprechende Tasks den Dateinamen dynamisch festgelegt (Format \\Server\Freigabe\TEXT-JJJJMMDD.EXT).

Nun mein Problem:
Normalerweise funktioniert obiges Verfahren auch, aber leider nicht immer. Ich habe nun festgestellt, daß die DTS-Task ab und an (grund unbekannt) den Dateinamen nicht dynamisch festlegt, sondern den bei der Definition angegebenen (statischen) Dateinamen benutzt. Da diese Datei dann jedes Mal überschrieben wird, gehen mir immer wieder die "alten" Daten verloren.

Hat jemand hierzu einen Tipp oder auch einen alternativen Lösungsansatz? Bin im Moment ziemlich ratlos und für jeden Hinweis dankbar.

Greyhound
Mitglied: geTuemII
17.06.2008, aktualisiert 18.10.2012
Hallo Greyhound,

von DTS habe ich wenig Ahnung, daher hier ein alternativer Ansatz:
  • Dateien mit DTS zu bestimmtem Zeitpunkt erzeugen --> Ergebnis: Datei mit bekanntemn Namen im bekannten Verzeichnis (\\Server\Freigabe\TEXT.EXT)
  • Danach par Batch Umbenennung der bekannten Datei TEXT.EXT in TEXT-JJJJMMDD.EXT --> Ergebnis: Datei hat den Namen, den sie haben soll und TEXT.EXT ist wieder frei (nicht mehr vorhanden) für den nächsten DTS-Lauf

Falls dieser Ansatz für dich interessant klingt, empfehle ich https://www.administrator.de/wissen/workshop-batch-for-runaways-part-iii ... zur Lektüre.

geTuemII
Bitte warten ..
Mitglied: greyhound
17.06.2008 um 18:09 Uhr
Hi geTuemII,

Darüber hatte ich auch schon nachgedacht, wenngleich es anders eleganter wäre . Aber falls sonst niemand eine Idee zu meinem Problem hat, werde ich mich wohl mit einem "bätsch" versuchen. Da ich mit der Syntax dieser Windowsskripte als alter X-er etwas auf Kriegsfuß stehe, ist Dein Link sicher sehr nützlich. Werd' dann halt ein bisschen beim "Altmeister" abkupfern müssen.

Greyhound
Bitte warten ..
Mitglied: Biber
21.06.2008 um 19:54 Uhr
Moin Greyhound,

ich habe nun auch schon ein paar Tage abgewartet, ob und was so für Alternativen gepostet werden.
Denn... okay, machbar und nicht allzu aufwändig ginge das via einpaar Batchzeilen, aber das kann es ja wohl nicht sein, dass wir es nicht mit SQL zum Fliegen bekommen.

Du hast Doch bestimmt schon 20x auf die fünf Zeilen draufgeschaut, die diese dynamischen Dateinamen ermitteln - magst Du die mal posten?
Und wie startest Du das Skript - über dtsrun oder über VB/VBS?
Irgendeine Regelmäßigkeit bezüglich des "mal klappts, mal klappts nicht"?
Aber bitte nicht antworten: "War immer unter Windows..."

Grüße
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 13:15 Uhr
Hallo Biber,

danke für's "Mithirnen". Wie Du schon sagtest habe ich natürlich schon x-mal das bisschen Code durchgesehen. Es ist sogar noch simpler als Du annimmst. Die Codesequenz, welche den Dateinamen zuweist lautet einfach :
SELECT '\\server_name\share\prefixtext-' + REPLACE(CONVERT(char, GETDATE(), 102), '.', '') + '.extension'
In dem DTS-Job werden drei verschiedene SQL-Statements abgesetzt, die drei verschiedene Files erzeugen. Die Filenamen (und auch die entsprechenden Statements) unterscheiden sich nur in der Fileextension. Der Rest ist absolut gleich.
Meistens, wenn's schiefgeht, aber nicht immer ist ein bestimmtes File betroffen. Das hat mich jetzt auf eine Idee gebracht. Die Tasks wurden im DTS-Designer von MS-SQL erzeugt und können eigentlich parallel ablaufen. Aufgrund der Ablaufprotokolle ist mir aufgefallen, dass, obwohl die Dateinamen als "dynamic property" der jeweiligen "Destination" zugewiesen wurden, MS-SQL möglicherweise nicht die Generierung der Dateinamen abwartet, sondern die Task ggf. mit dem statischen Namen beendet. Um das zu verifizieren habe ich jetzt mal die Generierung der Dateinamen und die eigentliche Datenselektion über einen Workflow verknüpft. Wenn's das gewesen sein sollte, würde ich gern mal den entsprechenden Programmierer in Redmond sprechen.

Gruß
Greyhound
Bitte warten ..
Mitglied: Biber
23.06.2008 um 13:25 Uhr
Moin Greyhound,
Wenn's das gewesen sein sollte, würde ich gern mal den entsprechenden Programmierer in Redmond sprechen

Dann solltest Du aber aus zwei Gründen persönlich statt fernmündlich bei ihm/ihr vorsprechen:

  • erstens kannst Du nach dem Betreten des Raumes die Bürotür von innen abschliessen
  • zweitens haben PraktikantInnen bestimmt gar kein eigenes Telefon

Grüß mal von mir
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 15:02 Uhr
Hi Biber

Grüß mal von mir

mit dem Neunschwänzigen?
Bitte warten ..
Mitglied: Biber
23.06.2008 um 15:39 Uhr
Moin greyhound,
<OT>
mit dem Neunschwänzigen?
Hmmm, der Neunschwänzige würde sicherlich nicht in jedem Fall als Strafe empfunden werden, aber wenn Du die Neunschwänzige meinst...

In unseren Forumsregeln steht ja unter Regel 5 als verboten : "Aufrufe oder Anleitungen zu Straftaten" sowie .."Äußerungen, die ...in anderer Weise diskriminierenden Charakter haben.".

Also tue bitte nichts, was ich nicht auch tun würde und nichts, was den Anschein einer ungeplanten Affekthandlung anfechtbar macht.

Ein klitzekleines "Beaver was here" in den 28-Zoll-TFT fände ich aber tolerabel.
</OT>

Grüße
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 16:08 Uhr
<nochmals OT>
1. ich meinte eigentlich das Neunschwänzige

2. ich werde mich an die Dreisekundenregel halten
</OT>

Gruß
greyhound

<EDIT> naguuut, deeplink beseitigt </EDIT>
Bitte warten ..
Mitglied: geTuemII
23.06.2008 um 17:55 Uhr
Deeplink --> tststs!

Nimm http://blog.tuxilla.de/?s=cat5 dan klapps auch mit dem Neunschwänzigen Irgendwo muß ich doch noch einige Gute (tm) HP-BNC (die grauen!) rumliegen haben...

[Edit] Der Deeplink hat auch das Blinkersyndrom... interessant... [/Edit]

geTuemII
Bitte warten ..
Mitglied: greyhound
25.06.2008 um 01:43 Uhr
@all

Das "Blinker-Syndrom" scheint aufgeklärt zu sein.

Offensichtlich versteht man in Redmond unter "dynamic property" etwas völlig anderes als im Rest der Welt. Es scheint sich keineswegs um eine mit der entsprechenden Variablen fest verknüpfte Eigenschaft zu handeln. Vielmehr lässt DTS die Berechnung solcher Properties offensichtlich als mehr oder weniger unabhängige Tasks ablaufen. Ist die Berechnung der "Property" bei Abschluß der zugehörigen Transfer-Task bereits beendet, dann wird die Property korrekt zugewiesen, andernfalls - Pech gehabt. Der Erfolg ist also abhängig von der aktuellen Maschinenauslastung, der Größe der Datensamples und wer weiß noch was. Das hat zugegebenermaßen natürlich schon auch was Dynamisches.

Merke: Um eine Zuweisung von "dynamic properties" wirklich sicherzustellen, scheint zusätzlich zwingend eine Ende-Start Verknüpfung der "Property-Task" mit der "Transfer-Task" erforderlich zu sein (workflow). Erst dann wartet DTS die Berechnung der Property ab.

Ich glaube, ich seh' mich mal nach einem günstigen Flug nach Redmond um.

greyhound
Bitte warten ..
Ähnliche Inhalte
Windows Server
MS SQl DB 2014 Backup Task
gelöst Frage von winlinWindows Server2 Kommentare

Hi Es gibt ja viele cmdlets zum sichern der SQL DB. Ist es über Tasks->Backup im SQL Manager nicht ...

Windows Server
Neuer MS-SQL-Server
gelöst Frage von tingelWindows Server1 Kommentar

Hallo, Ich bin gerade dabei, mir Gedanken zu machen, wie ich am besten unseren SQL-Server 2008 SP3 auf eine ...

Switche und Hubs
Abfragetimeout MS SQL Server
gelöst Frage von docteurbushSwitche und Hubs3 Kommentare

Ich habe mal eine Frage: Folgendes Szenario -> WebApplikation (sowohl in PHP als auch ASP Classic), virtueller WebServer, physischer ...

Datenbanken
MS-SQL-Server + T-SQL+Batch
Frage von kallewirschDatenbanken4 Kommentare

Hallo Gemeinde, mal wieder ein Problem aus dem Bereich des MS-SQL-Servers. Folgendes Thema: Nachts sollen automatisch Backups der DBen ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Olle Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 10 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit14 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless14 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...