Usuário com melhor resposta
executar script via linha de comando

Pergunta
-
eu gerei ontem um script de insert de uma tabela da minha base com os dados. so q eh muito grande n consigo copiar e colar no management studio. Como faço pra executa-lo? o management studio gerou umt xt eu mudei pra .sql e agora o q faço pra popualr minha tabela???
- Movido Gustavo Maia Aguiar quarta-feira, 24 de agosto de 2011 20:59 (De:Programação avançada com o SQL Server)
Respostas
-
Oi Igor,
O ideal seria ter os dados no arquivo e não os INSERTs. Se você tivesse o dados aí era fácil de fazer um BULK e com certeza o que roda em dias poderia ser importado em questão de horas ou minutos. Caso o SQLCMD não esteja sendo executado na mesma máquina do SQL, vai ficar mais lento. Você pode tentar copiar o arquivo e rodar o SQLCMD na máquina do SQL Server.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Igor Auler terça-feira, 31 de janeiro de 2012 16:01
Todas as Respostas
-
Boa Tarde,
O SQLCMD (SQL Command) é perfeito para isso.
- Abra o PROMPT do DOS
- Digite SQLCMD -U Usuario -P Senha -i LocaleNomedoArquivoSQL -d BancoDeDadosOndeSeraExecutadoCaso não queira usar um usuário ou senha, mas sua conta do Windows, retire o -U e o -P e coloque -E
Os parâmetros são Case Sensitive[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível -
C:\Users\igorfreire>SQLCMD -E -i C:\igor.sql -d equ
HResult 0x2, Level 16, State 1
Named Pipes Provider: Could not open a connection to SQL Server [2].
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : A network-related or in
stance-specific error has occurred while establishing a connection to SQL Server
. Server is not found or not accessible. Check if instance name is correct and i
f SQL Server is configured to allow remote connections. For more information see
SQL Server Books Online..
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.deu esse erro ae =/
-
Boa Tarde,
Pela mensagem de erro eu imagino que sua instância não seja a padrão ou que você não esteja na máquina onde irá rodar o script. Tente o seguinte:
SQLCMD -E -i C:\igor.sql -d equ -S Servidor\Instancia
Assim deve funcionar.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível -
-
acredito que vc esta executando de uma estacao de trabalho enta passa o -Snomeservidor
SQLCMD -Snomedoservidor -E -i C:\igor.sql -d equ
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba -
Oi Igor,
O ideal seria ter os dados no arquivo e não os INSERTs. Se você tivesse o dados aí era fácil de fazer um BULK e com certeza o que roda em dias poderia ser importado em questão de horas ou minutos. Caso o SQLCMD não esteja sendo executado na mesma máquina do SQL, vai ficar mais lento. Você pode tentar copiar o arquivo e rodar o SQLCMD na máquina do SQL Server.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Igor Auler terça-feira, 31 de janeiro de 2012 16:01