Ausführen eines aus SSMS in SQLCMD generierten TSQL-Skripts. Anführungszeichen scheitern


9

Ich versuche, eine Datenbank auf einem Computer bereitzustellen, indem ich ein Skript ausführe, das mit dem Tool "Skripte generieren" in SQL Server Management Studio generiert wurde.

Hier ist der Befehl, den ich ausgegeben habe:

sqlcmd -S LOCALHOST\sqlexpress -I -U user -P ******** -i 
    C:\Rollouts\NI-9-25-2012_10-42-AM\Rollout.sql > rolloutlog.txt

Ich erhalte folgende Fehler:

Sqlcmd: Fehler: Syntaxfehler in Zeile 39488 in der Nähe des Befehls '' 'in der Datei' C: \ Rollouts \ NI-9-25-2012_10-42-AM \ Rollout.sql '.

Wenn ich diese Zeile mit einem Texteditor betrachte, weisen alle Zeichen auf ein Problem mit Anführungszeichen hin.

Die fragliche Zeile sieht folgendermaßen aus:

$ (''. cat-menu-new ''). slideDown ('' slow '');

Gibt es einen Schalter, mit dem ich das Skript ausführen oder generieren soll, um Anführungszeichen innerhalb des Skripts zu unterstützen?


Das obige Skript sieht aus wie JQuery, nicht SQL ... ???
Mr. Brownstone

Schreiben Sie auch die Daten aus? Können Sie noch mehr von dem generierten Skript posten?
Mr. Brownstone

40k + Zeilenskript? Autsch.
Aaron Bertrand

Haha, um ein bisschen mehr zu klären. Das Skript enthält HTML- und Javascript-Inhalte. Ja, dieser Inhalt ist jQuery-Code. Am Ende haben wir ein Backup-Skript erstellt, das viel schneller und einfacher ist.
Munroan

Antworten:


11

$(...) bezeichnet eine Variable in SQLCMD, sodass Ihre Daten als Variable interpretiert werden.

Verwenden Sie die -x Befehlszeilenoption , um Variablen zu deaktivieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.