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?

Munroan
quelle
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.

Jon Seigel
quelle