Eu tenho um arquivo sql de 123 MB que preciso executar no meu PC local. Mas estou conseguindo
Cannot execute script: Insufficient memory to continue the execution of the program
Como resolver este problema?
Eu tenho um arquivo sql de 123 MB que preciso executar no meu PC local. Mas estou conseguindo
Cannot execute script: Insufficient memory to continue the execution of the program
Como resolver este problema?
Respostas:
use a ferramenta de linha de comando SQLCMD, que é muito mais econômica na memória. É tão simples como:
SQLCMD -d <database-name> -i filename.sql
Você precisa de credenciais válidas para acessar sua instância do SQL Server ou até mesmo para acessar um banco de dados
Retirado daqui .
-e
para conexão confiável
Isso pode te ajudar! Por favor, veja as etapas abaixo.
sqlcmd -S nome do servidor -d nome do banco de dados -i script.sql
Você também pode simplesmente aumentar o valor mínimo de memória por consulta nas propriedades do servidor. Para editar esta configuração, clique com o botão direito no nome do servidor e selecione Propriedades> guia Memória.
Encontrei este erro ao tentar executar um script SQL de 30 MB no SSMS 2012. Depois de aumentar o valor de 1024 MB para 2048 MB, consegui executar o script.
(Esta é a mesma resposta que forneci aqui )
Para autenticação do Windows, use este sql cmd
SQLCMD -S TestSQLServer\SQLEXPRESS -d AdventureWorks2018 -i "d:\document\sql document\script.sql"
Nota: Se houver algum espaço no caminho do arquivo sql, use "(aspas)"
Para autenticação do SQL Server, use este sql cmd
SQLCMD -S TestSQLServer\SQLEXPRESS -U sa -P sasa -d AdventureWorks2018 -i "d:\document\sql document\script.sql"
-S TestSQLServer \ SQLEXPRESS: especifique aqui o nome do SQL Server
-EUA: usuário (no caso de autenticação do SQL Server)
-P sasa: Senha (no caso de autenticação do SQL Server)
-d AdventureWorks2018: nome do banco de dados vem aqui
-i "d: \ document \ sql document \ script.sql": Caminho do arquivo SQLFile
Se entendi seu problema corretamente, você está tentando restaurar (transact sql) xyz.sql - banco de dados + esquema. Você pode tentar este comando que funcionou para mim:
SQLCMD -U sa -i xyz.sql
Meu banco de dados era maior que 500 MB, então usei o seguinte
C:\Windows>sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASE -i C:\FILE.sql
Carregou tudo incluindo SP's
* NB: Execute o cmd como Administrador
Às vezes, devido ao grande tamanho do script e dos dados, encontramos esse tipo de erro. O servidor precisa de memória suficiente para executar e fornecer o resultado. Podemos simplesmente aumentar o tamanho da memória, por consulta.
Você só precisa ir para as propriedades do servidor sql> guia Memória (lado esquerdo)> Agora defina o limite máximo de memória que deseja adicionar.
Além disso, há uma opção no topo, "Resultados para texto", que consome menos memória, em comparação com a opção "Resultados para grade", também podemos ir para Resultado para Texto para menos execução de memória.
O script abaixo funciona perfeitamente:
sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x
Sintomas:
Ao executar um script de recuperação com o utilitário sqlcmd, o 'Sqlcmd: Erro: Erro de sintaxe na linha XYZ próximo ao comando' X 'no arquivo' nome_do_arquivo.sql '.' erro é encontrado.
Causa:
Esta é uma limitação do utilitário sqlcmd. Se o script SQL contiver o cifrão ($) em qualquer formato, o utilitário não será capaz de executar o script corretamente, pois está substituindo todas as variáveis automaticamente por padrão.
Resolução:
Para executar o script que possui o sinal de dólar ($) em qualquer formato, é necessário adicionar o parâmetro “-x” na linha de comando.
por exemplo
Original: sqlcmd -s Server_name -d Database_name -E -ic: \ Temp \ Recovery_script.sql
Fixo: sqlcmd -s Server_name -d Database_name -E -ic: \ Temp \ Recovery_script.sql -x
sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D: \ qldbscript.sql
Abra o prompt de comando em executar como administrador
insira o comando acima
"mamxxxxxmu" é o nome do computador "sqlserverr" é o nome do servidor "sa" é o nome de usuário do servidor "x1123" é a senha do servidor "QLDB" é o nome do banco de dados "D: \ qldbscript.sql" é um arquivo de script sql para executar no banco de dados