Wykonywanie skryptu TSQL wygenerowanego z SSMS w SQLCMD. Niepowodzenie w ofertach

9

Próbuję wdrożyć bazę danych na komputerze, wykonując skrypt wygenerowany przez narzędzie „Generuj skrypty” w SQL Server Management Studio.

Oto polecenie, które wydałem:

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

Otrzymuję takie błędy:

Sqlcmd: Błąd: Błąd składniowy w wierszu 39488 w pobliżu polecenia „” w pliku „C: \ Rollouts \ NI-9-25-2012_10-42-AM \ Rollout.sql”.

Kiedy przeglądam ten wiersz za pomocą edytora tekstu, wszystkie znaki wskazują na problem ze znakami cudzysłowu.

Linia, o której mowa, wygląda następująco:

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

Czy istnieje przełącznik, który powinienem wykonywać lub generować skrypt, aby obsługiwać cytaty w skrypcie?

Munroan
źródło
Powyższy skrypt wygląda jak JQuery, a nie SQL ... ???
Mr.Brownstone,
Czy piszesz również dane? Czy możesz opublikować więcej wygenerowanego skryptu?
Mr.Brownstone,
40k + skrypt linii? Auć.
Aaron Bertrand
Haha, aby wyjaśnić nieco więcej. Skrypt zawiera treść HTML i javascript, więc tak, że treść jest kodem jQuery. W rezultacie stworzyliśmy skrypt kopii zapasowej, który jest znacznie szybszy i łatwiejszy.
Munroan

Odpowiedzi:

11

$(...) oznacza zmienną w SQLCMD, więc interpretuje dane jako zmienną.

Użyj opcji -x wiersza polecenia, aby wyłączyć zmienne.

Jon Seigel
źródło