Mam plik sql o rozmiarze 123 MB, który muszę wykonać na moim lokalnym komputerze. Ale dostaję
Cannot execute script: Insufficient memory to continue the execution of the program
Jak rozwiązać ten problem?
sql
tsql
sql-server-2012
user960567
źródło
źródło
Odpowiedzi:
Zaczerpnięte stąd .
źródło
-e
dla zaufanego połączeniaTo może ci pomóc! Zobacz poniższe kroki.
źródło
Możesz także po prostu zwiększyć wartość Minimalna ilość pamięci na zapytanie we właściwościach serwera. Aby edytować to ustawienie, kliknij prawym przyciskiem myszy nazwę serwera i wybierz Właściwości> karta Pamięć.
Napotkałem ten błąd podczas próby wykonania 30MB skryptu SQL w SSMS 2012. Po zwiększeniu wartości z 1024MB do 2048MB udało mi się uruchomić skrypt.
(To ta sama odpowiedź, którą tu podałem )
źródło
W przypadku uwierzytelniania systemu Windows użyj tego polecenia sql cmd
Uwaga: jeśli w ścieżce pliku sql jest spacja, użyj „(cudzysłowy)”
W przypadku uwierzytelniania programu SQL Server użyj tego polecenia sql cmd
źródło
Jeśli dobrze rozumiem Twój problem, próbujesz przywrócić (transakcyjny sql) xyz.sql - baza danych + schemat. Możesz wypróbować to polecenie, które zadziałało dla mnie:
źródło
Moja baza danych była większa niż 500 MB, więc użyłem następującego
Załadował wszystko, w tym SP
* Uwaga: uruchom cmd jako administrator
źródło
Czasami, z powodu dużego rozmiaru skryptu i danych, napotykamy tego typu błąd. Serwer potrzebuje wystarczającej ilości pamięci, aby wykonać i podać wynik. Możemy po prostu zwiększyć rozmiar pamięci na zapytanie.
Wystarczy przejść do właściwości serwera sql> zakładka Pamięć (lewa strona)> Teraz ustaw maksymalny limit pamięci, który chcesz dodać.
Na górze znajduje się również opcja „Wyniki do tekstu”, która zajmuje mniej pamięci w porównaniu z opcją „Wyniki do siatki”, możemy również przejść do wyniku na tekst, aby zmniejszyć wykonanie pamięci.
źródło
Poniższy skrypt działa idealnie:
Objawy:
Podczas wykonywania skryptu odzyskiwania za pomocą narzędzia sqlcmd, komunikat „Sqlcmd: błąd: błąd składni w wierszu XYZ w pobliżu polecenia„ X ”w pliku„ nazwa_pliku.sql ”.” wystąpił błąd.
Przyczyna:
To jest ograniczenie narzędzia sqlcmd. Jeśli skrypt SQL zawiera znak dolara ($) w dowolnej formie, narzędzie nie może poprawnie wykonać skryptu, ponieważ domyślnie zastępuje wszystkie zmienne automatycznie.
Rozkład:
W celu wykonania skryptu ze znakiem dolara ($) w dowolnej postaci konieczne jest dodanie w linii poleceń parametru „-x”.
na przykład
Oryginał: sqlcmd -s nazwa_serwera -d nazwa_bazy_danych -E -ic: \ Temp \ Recovery_script.sql
Naprawiono: sqlcmd -s nazwa_serwera -d nazwa_bazy_danych -E -ic: \ Temp \ Recovery_script.sql -x
źródło
sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D: \ qldbscript.sql
Otwórz wiersz polecenia w uruchom jako administrator
wprowadź powyższe polecenie
"mamxxxxxmu" to nazwa komputera "sqlserverr" to nazwa serwera "sa" to nazwa użytkownika serwera "x1123" to hasło serwera "QLDB" to nazwa bazy danych "D: \ qldbscript.sql" to plik skryptu sql do wykonania w bazie danych
źródło
Spróbuj tego kroku,
1) Otwórz PowerShell
2) Napisz to polecenie:
3) Naciśnij klawisz Return
:-)
źródło
Jeśli potrzebujesz połączyć się z LocalDB podczas programowania, możesz użyć:
źródło