AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[sqlcmd](dba)

Martin Hope
lit
Asked: 2021-12-13 11:58:17 +0800 CST

Qual kit de instalação instala o sqlcmd.exe?

  • 0

Recentemente, tive que desinstalar o Visual Studio 2012 e o DTS e instalar o VS 2017 e o DTS novamente. Depois, o diretório que continha sqlcmd.exenão estava na minha PATHvariável. Instalei o seguinte.

vs_Professional-vs2017-15.9.41.exe
SSDT-Setup-ENU-vs2017-15.9.9.exe

Qualquer um desses kits deve ser instalado sqlcmd.exe? Se não, qual ferramenta irá instalá-lo? Eu preciso de um que funcione com o SQL Server 2012+.

sql-server sqlcmd
  • 2 respostas
  • 261 Views
Martin Hope
spinjector
Asked: 2021-09-02 08:28:15 +0800 CST

No SSMS, os modos IntelliSense e SQLCMD são mutuamente exclusivos?

  • 2

No SSMS, os modos IntelliSense e SQLCMD são mutuamente exclusivos?

Existe alguma maneira de fazer o IntelliSense funcionar quando o modo SQLCMD está habilitado? (eu uso muito o SQLCMD)

Estou tentando entender por que o IntelliSense fica desabilitado no modo SQLCMD, mas há tantas informações para ambos nos resultados de pesquisa do Google que não consigo encontrar uma resposta óbvia.

Achei esta boa discussão sobre isso, mas não é realmente uma resposta à minha pergunta.

ssms sqlcmd
  • 2 respostas
  • 80 Views
Martin Hope
Reversed Engineer
Asked: 2021-03-04 03:13:23 +0800 CST

O SQLCMD "!!" trabalho de comando no Azure Data Studio

  • 0

No SQL Server Management Studio, é possível executar comandos em lote no modo SQLCMD , usando o !! comando . No entanto, no Azure Data Studio, isso parece não funcionar (o SQLCMD está disponível no ADS desde a versão 1.13.0 em novembro de 2019), estou executando o ADS como administrador do Windows.

Como posso executar comandos em lote no Azure Data Studio usando o modo SQLCMD? Eu perdi alguma coisa, ou há alguma documentação (escassa) que eu preciso ler?

- No SQL Server Management Studio:

Funciona no SQL Server Management Studio

- No Azure Data Studio

Não funciona no ADS

sqlcmd azure-data-studio
  • 1 respostas
  • 1060 Views
Martin Hope
Dejan Dozet
Asked: 2020-12-27 03:24:02 +0800 CST

No mssql 2019, onde está o utilitário sqlcmd?

  • 1

Estou trabalhando na ferramenta que implantará silenciosamente a instância do servidor SQL e preciso executar alguns scripts após a instalação, mas me esforço para descobrir onde está o utilitário SQLCMD.

Por exemplo, eu uso isso:

RECURSOS=SQLENGINE,SDK

Mas após a conclusão da instalação, não há SQLCMD no sistema.

Cadê?

ATUALIZAÇÃO :

Consegui criar uma instalação silenciosa que inclui a ferramenta sqlcmd com isso:

FEATURES=SQLENGINE,Ferramentas

sql-server sqlcmd
  • 1 respostas
  • 1985 Views
Martin Hope
Shervin Rad
Asked: 2020-04-25 11:38:26 +0800 CST

Como encontrar uma lista de servidores MS SQL locais?

  • 0

Consultei Como posso determinar as instâncias do SQL Server instaladas e suas versões? já mas o CMD não retorna nada:

C:\Windows\system32>sqlcmd -L

C:\Windows\system32>

Mas ao usar o Visual Studio (v2019), vou em View > SQL Server Object Explorer, vejo duas instâncias do SQL Server com bancos de dados do sistema dentro. Um é chamado (LocalDB)\MSSQLLocalDB e o outro (LocalDB)\ProjectsV13.

Ambos estão usando o SQL Server 2016 (v13.0.4001). Usando isso, também consegui me conectar através do SSMS 2018.

Minha pergunta é: por que essas instâncias não estão aparecendo na linha de comando? E posso excluir uma das instâncias do servidor? Por que existem dois?

Eu tentei:

  1. Verifiquei meus serviços e há apenas gravação do SQL Server VSS. todo o resto é irrelevante para o SQL. Procurei no gerenciador de configuração do SQL Server, mas os serviços do SQL Server também estão vazios. Eu verifiquei em C:\Program Files (x86)\Microsoft SQL Server\90\Shared e sqlbrowser.exe não estava lá também.

  2. Acabei de tentar configurar regras de entrada e saída no TCP 1433 e UDP 1434 para permitir conexões. Falha novamente com nada retornado do cmd.

  3. Liguei os logs do firewall e verifiquei os logs depois de executar o comando algumas vezes, mas nada está sendo registrado (sucesso ou falha). Abri o powershell e fiz test-netconnection ao meu ip e porta 1433 e 1434 mas o ping falhou. Ainda nada escrito nos arquivos de log do firewall.

sql-server sqlcmd
  • 2 respostas
  • 2018 Views
Martin Hope
Andriy M
Asked: 2019-10-19 06:41:11 +0800 CST

ID de sessão no SQLCMD executando script de vários lotes

  • 2

Meu script contém várias palavras- GOchave. Eu sei que o SQLCMD interpreta GOcomo um delimitador de lote, portanto, o código não é executado como um único bloco, mas cada parte entre os delimitadores (um lote) é executada separadamente. Minha pergunta é, todos os lotes são executados na mesma sessão?

Eu tentei testar isso usando um script simples como este:

SELECT @@SPID
GO

SELECT @@SPID
GO

SELECT @@SPID
GO

Em seguida, executei o script na linha de comando usando este comando

SQLCMD -S MyServer\Instance -E -i MyScript.sql

e obtive esta saída:


------
    62

(1 rows affected)

------
    62

(1 rows affected)

------
    62

(1 rows affected)

Parecia responder minha pergunta de forma afirmativa, mas depois executei o script novamente e obtive exatamente a mesma saída, ou seja, todos os valores foram 62novamente. Aparentemente, as duas execuções separadas do SQLCMD não poderiam ser executadas na mesma sessão, elas apenas receberam o mesmo ID de sessão. Mas isso, por sua vez, me faz pensar que o mesmo @@SPIDvalor retornado por uma única execução pode não significar necessariamente que foi a mesma sessão. Cada lote pode ser executado em uma sessão diferente que acabou de receber o mesmo ID, semelhante a como diferentes execuções do SQLCMD estavam sendo executadas em diferentes sessões com o mesmo ID.

Portanto, minha pergunta ainda permanece: vários lotes do mesmo script são executados no SQLCMD na mesma sessão ou não? Existe uma maneira de determinar isso?

sql-server sqlcmd
  • 1 respostas
  • 196 Views
Martin Hope
SQLSean
Asked: 2019-06-27 03:55:27 +0800 CST

Como retornar nativamente a saída ao usar Invoke-Sqlcmd?

  • 5

Como faço para registrar nativamente a saída do PowerShell Invoke-Sqlcmd?

Estou usando Invoke-Sqlcmd para percorrer um grande conjunto (50.000-90.000 arquivos SQL com 1-10 inserções em cada) de pequenas instruções de inserção SQL. A maioria das instruções de inserção são executadas corretamente, mas algumas das strings são muito longas e recebo o erro "string ou dados binários seriam truncados".

No momento, estou usando o Start-Transcript para capturar a saída e identificar as instruções de inserção problemáticas, mas o Start-Transcript captura tudo. Eu gostaria de pegar apenas os erros - ou - apenas pegar a saída da instrução Invoke_Sqlcmd.

Se isso funcionasse (como acredito que deveria), eu estaria tudo pronto:

Invoke-Sqlcmd -InputFile $sql -ServerInstance LocalHost -Database Test_DB -Credential $pwd -Verbose -OutputSqlErrors $true | Out-File -FilePath "C:\Temp\Errorlog.txt" -Append

Ou se isso funcionou:

Invoke-Sqlcmd -InputFile $sql -ServerInstance LocalHost -Database Test_DB -Credential $pwd -Verbose -OutputSqlErrors $true | Tee-Object -FilePath "C:\Temp\Errorlog.txt" -Append

Mas nenhum desses funciona.

Eu também tentei essa monstruosidade, mas não recebo nenhum erro:

$sqls = (Get-ChildItem -Path "I:\2019_06_24\_SQL"-Filter *.sql | Sort-Object -Property CreationTime).FullName
        foreach ($sql in $sqls)
            {
            $Error.Clear()
            try 
                {
                Invoke-Sqlcmd -InputFile $sql -ServerInstance LocalHost -Database Test_DB -Credential $pwd -Verbose -OutputSqlErrors $true
                }
            catch 
                {
                'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' | Out-File "C:\Temp\Errorlog.txt" -Append
                $sql | out-file -filepath "C:\Temp\Errorlog.txt" -Append
                $Error | out-file -filepath "C:\Temp\Errorlog.txt" -Append
                } 
            }

Como faço logon diretamente da instrução Invoke-Sqlcmd?

powershell sqlcmd
  • 1 respostas
  • 4350 Views
Martin Hope
Yuri Makassiouk
Asked: 2019-05-04 02:53:06 +0800 CST

SQLCMD: diretiva de conexão - como posso especificar o protocolo de conexão?

  • 2

Em um script eu tenho a diretiva

:connect DbServer

e parece que se eu executar este script no SQLCMD (assim:

sqlcmd -i script.sql

em seguida, o sqlcmd tenta se conectar usando Pipes Nomeados (o que não funciona). Recebo mensagens de erro dizendo que o provedor Named Pipes não pôde se conectar. No entanto, se eu tentar me conectar ao mesmo servidor especificando seu nome no parâmetro -S, ele funcionará bem.

Existe uma maneira de informar a diretiva :connect que estou tentando me conectar por TCP/IP?

Eu tentei usar :connect tcp:DbServer sem sucesso. Também tentei ir pelo endereço IP, mesmos resultados. Nesta máquina não tenho o SQL Server Configuration Manager para especificar aliases connectino ou manipular protocolos. Talvez seja a próxima coisa a fazer, mas gostaria de saber se alguém conhece uma maneira de conter a especificação de conexão dentro do script.

sql-server sqlcmd
  • 1 respostas
  • 588 Views
Martin Hope
DBALUKE HUANG
Asked: 2019-03-29 08:08:56 +0800 CST

SQLCMD não pode conectar minha instância nomeada

  • 0

Estou usando o SQL Server 2017 com base no Windows Server 2016. Estou tentando conectar minha instância nomeada, mas recebi a mensagem de erro conforme a captura de tela abaixo: Não é possível conectar à instância SQL pelo SQLCMD

Então tentei reinstalar o ODBC Driver 13. Mas recebi o erro da seguinte forma: reinstale o driver ODBC 13

Mesmo depois de desinstalar o ODBC Driver 17, ainda recebi a mesma mensagem de erro. Qualquer pensamento?

Agradeço antecipadamente!

sql-server sqlcmd
  • 1 respostas
  • 691 Views
Martin Hope
user127832
Asked: 2019-03-28 08:36:40 +0800 CST

Msg 102, Level 15, State 1, Server DESKTOP-U368A1B, Line 1 Sintaxe incorreta perto de '1'

  • 0

Recebo a mensagem de erro acima quando executo o seguinte script perl do cmd, que deve fazer alguma transação no meu banco de dados.

#!/usr/bin/perl.

use warnings;
use strict;

my ( $pid1, $pid2, $pid3, $i );    #Declaration of local variables
$| = 1;

if ( ($pid1 = fork()) && ($pid2 = fork()) && ($pid3 = fork()) ) {       #Starts child processes
   print( "I have to wait for my kids.\n" );        #The main process execute this code
   my $straggler = wait();              #The main process waits for all the children to finish
   print( "Finally $straggler finished, now I can go.\n" );
}
elsif ( $pid1 && $pid2 && defined($pid3)) {         #Is executed by the third child 
   sleep( 1 );                      #Wait 1 second
   print( "Start moving money between account 1 - 2" );
   sleep(2);
   for ($i=0; $i < 1000; $i++) {            #Start transaction repeatedly
    system("sqlcmd -S DESKTOP-U368A1B  -Q tranKonto(1,2,100,1)"); #Moves 100 from account 1 to account 2
   }
   print( "End moving money between accounts trans 1 - 2 " );
   exit();
}
else {
   die( "Forking problems: " );
}

A transação fica assim:

PROCEDURE [dbo].[tranKonto] @konto1 INT,  @konto2 INT, @belopp INT, @isoLevel INT
AS
BEGIN TRANSACTION tranKonto

    IF(@isoLevel=0)
        SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    ELSE IF (@isoLevel = 1)
        SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
    ELSE IF (@isoLevel=2)
        SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
    ELSE IF(@isoLevel=3)
        SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

    BEGIN 
        UPDATE Konto SET belopp=belopp-@belopp WHERE kontonr=@konto1
        UPDATE Konto SET belopp=belopp+@belopp WHERE kontonr=@konto2    
        EXEC kontoLog_SP @konto1,  @konto2 , @belopp , @isoLevel;
    END

COMMIT TRANSACTION tranKonto
RETURN

Recebo a seguinte mensagem de erro ao executar o script:

Msg 102, Level 15, State 1, Server DESKTOP-U368A1B, Line 1 Sintaxe incorreta perto de '1'.

Agradeceria muito se alguém pudesse me ajudar. Eu tentei google uma solução, mas não tive sorte.

sql-server sqlcmd
  • 1 respostas
  • 1224 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve