Como verificar a versão do SQL Server usando PowerShell
-
Use a Utilidade
sqlcmd
para Verificar a Versão do SQL Server no PowerShell -
Vantagens e Desvantagens de Usar a Utilidade
sqlcmd
-
Usar o Cmdlet
Invoke-Sqlcmd
para Verificar a Versão do SQL Server Usando PowerShell -
Vantagens e Desvantagens de Usar o Cmdlet
Invoke-Sqlcmd
para Verificar a Versão do SQL Server no PowerShell -
Diferença Entre a Utilidade
sqlcmd
e o CmdletInvoke-Sqlcmd
- Conclusão

Verificar a versão de um programa é uma das operações comuns que você pode fazer no PowerShell. Se você estiver usando o Microsoft SQL Server para gerenciar bancos de dados relacionais, é importante saber qual versão está instalada em seu computador.
Este tutorial apresentará dois métodos para verificar a versão do SQL Server com PowerShell.
Use a Utilidade sqlcmd
para Verificar a Versão do SQL Server no PowerShell
O sqlcmd
é uma utilidade de linha de comando que permite executar instruções e scripts interativos Transact-SQL. Ele ajuda a automatizar tarefas de script Transact-SQL.
Sintaxe:
sqlcmd -S ServerName\InstanceName -Q "SQL Query"
Na sintaxe acima, substituímos ServerName
pelo nome do seu SQL Server, InstanceName
pelo nome da sua instância do SQL Server e "SQL Query"
pela consulta SQL específica que você deseja executar.
O seguinte comando imprime a versão do SQL Server no PowerShell. O DelftStack
é o nome do servidor, e o SQLEXPRESS
é o nome da instância do nosso SQL Server.
sqlcmd -S DelftStack\SQLEXPRESS -Q "SELECT @@VERSION"
Estamos usando a utilidade sqlcmd
, que é uma ferramenta de linha de comando para executar comandos e scripts Transact-SQL. É uma maneira de interagir com o SQL Server a partir da linha de comando.
Usando -S DelftStack\SQLEXPRESS
, estamos especificando o servidor e a instância que desejamos conectar. DelftStack
é o nome do servidor, e SQLEXPRESS
é o nome da instância, e essa combinação identifica o SQL Server específico que queremos consultar.
A parte -Q "SELECT @@VERSION"
do comando instrui o SQL Server a executar uma consulta SQL. Neste caso, estamos solicitando ao SQL Server que recupere suas informações de versão.
A consulta SELECT @@VERSION
é um comando embutido do SQL Server que retorna informações detalhadas da versão.
Saída:
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
Sep 24 2019 13:48:23
Copyright (C) 2019 Microsoft Corporation
Express Edition (64-bit) on Windows 10 Home Single Language 10.0 <X64> (Build 22000: )
(1 rows affected)
A saída exibe informações detalhadas sobre a versão do SQL Server, incluindo informações de release e build. Ela mostra que a versão instalada do SQL Server é 15.0.2000.5
.
É importante observar que a utilidade sqlcmd
deve estar instalada e acessível no PATH do sistema. Se não estiver instalada ou não for acessível, o comando falhará.
Para instalar o sqlcmd
no PowerShell, você precisa instalar as Ferramentas de Linha de Comando do SQL Server, que incluem o sqlcmd
.
Aqui estão os passos para instalar o sqlcmd
:
-
Baixar as Ferramentas de Linha de Comando do SQL Server
Visite a página de downloads do Microsoft SQL Server. Role para baixo até a seção
"Instalar as ferramentas de linha de comando do SQL Server"
e clique no link de download para"Microsoft Command Line Utilities 15 for SQL Server"
(ou a versão apropriada para suas necessidades). -
Executar o Instalador
Execute o instalador baixado (geralmente um arquivo
.msi
). Siga as instruções do assistente de instalação. -
Selecionar Componentes
Durante a instalação, você será solicitado a selecionar componentes. Certifique-se de selecionar
"Command Line Utilities"
ou especificamente o"sqlcmd"
. -
Concluir a Instalação
Continue pelo processo de instalação e, uma vez concluído, você terá o
sqlcmd
instalado em seu sistema. -
Verificar a Instalação
Abrir a janela de prompt de comando e digitar
sqlcmd
. Se estiver instalado corretamente, você deverá ver o prompt dosqlcmd
.
Tenha em mente que, dependendo da versão do SQL Server, os passos particulares e o nome do instalador podem diferir, assim como o pacote de instalação que você escolher. Certifique-se de selecionar os componentes apropriados durante a instalação para garantir que o sqlcmd
esteja incluído.
Além disso, o nome do servidor e o nome da instância fornecidos no comando devem ser válidos e acessíveis. Se forem incorretos ou inacessíveis, o comando falhará.
Vantagens e Desvantagens de Usar a Utilidade sqlcmd
Vantagens:
- Controle de linha de comando para scripting e automação.
- Nenhuma necessidade de instalar um módulo adicional.
- Suporte amplo em diferentes versões do SQL Server.
Desvantagens:
- A saída pode ser menos amigável ao usuário, exigindo uma análise adicional.
- Recursos limitados em comparação com o
Invoke-Sqlcmd
.
Usar o Cmdlet Invoke-Sqlcmd
para Verificar a Versão do SQL Server Usando PowerShell
O cmdlet Invoke-Sqlcmd
executa os scripts e comandos suportados pela utilidade SQLCMD do SQL Server. Ele aceita instruções e comandos Transact-SQL como GO
e QUIT
.
Sintaxe:
Invoke-Sqlcmd -query "SQL Query" -ServerInstance "ServerName\InstanceName"
Na sintaxe acima, substituímos "SQL Query"
pela consulta SQL específica que você deseja executar e "ServerName\InstanceName"
pelo nome do servidor e da instância do SQL Server que você deseja conectar. Este comando é usado para executar consultas SQL dentro do PowerShell e é particularmente útil para integrar tarefas do SQL Server em scripts PowerShell.
O seguinte comando obtém a versão do SQL Server no PowerShell.
Invoke-Sqlcmd -query "SELECT @@VERSION" -ServerInstance "DELFT-PC\SQLEXPRESS"
Estamos usando o cmdlet Invoke-Sqlcmd
, que é parte do PowerShell e é especificamente projetado para interagir com o SQL Server. Ele nos permite executar comandos e consultas SQL diretamente de dentro de um script ou sessão do PowerShell.
A parte -query "SELECT @@VERSION"
do comando especifica a consulta SQL que queremos executar. Neste caso, estamos executando a consulta SQL SELECT @@VERSION
, e essa consulta é um comando embutido do SQL Server que recupera informações detalhadas da versão sobre o SQL Server ao qual está conectado.
Usando -ServerInstance "DELFT-PC\SQLEXPRESS"
, estamos definindo o servidor e a instância a serem conectados com os seguintes componentes:
-
-ServerInstance
é uma opção que indica o servidor e a instância que queremos conectar. -
"DELFT-PC\SQLEXPRESS"
é o nome do servidor e o nome da instância combinados."DELFT-PC"
representa o nome do SQL Server, e"SQLEXPRESS"
representa a instância específica do SQL Server instalada naquela máquina, e essa combinação especifica o SQL Server exato que queremos consultar.
Saída:
Column1
-------
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) ...
A saída acima nos fornece informações detalhadas sobre a versão do SQL Server, incluindo detalhes de release e build.
Se o cmdlet Invoke-Sqlcmd
não for reconhecido, você deve instalá-lo usando o comando abaixo:
Install-Module SqlServer
Então, execute este comando para importar o módulo.
Import-Module SqlServer
Essa abordagem é conveniente para integrar tarefas do SQL Server em scripts do PowerShell e aproveitar o poder do PowerShell para manipulação de dados e automação.
É importante observar que o cmdlet Invoke-Sqlcmd
já está disponível na sessão atual do PowerShell. Se o módulo necessário não estiver importado, o código falhará com um erro.
Além disso, se a instância do SQL Server especificada ("DELFT-PC\SQLEXPRESS"
) estiver incorreta ou inacessível, o código falhará ao conectar e executar a consulta.
Vantagens e Desvantagens de Usar o Cmdlet Invoke-Sqlcmd
para Verificar a Versão do SQL Server no PowerShell
Vantagens:
- Integração perfeita com PowerShell para scripting avançado.
- Saída mais estruturada e amigável ao usuário.
- Um conjunto rico de recursos para tarefas complexas de banco de dados.
Desvantagens:
- Requer a instalação do módulo
SqlServer
. - A compatibilidade com versões do SQL Server pode variar.
Diferença Entre a Utilidade sqlcmd
e o Cmdlet Invoke-Sqlcmd
A principal diferença entre os dois métodos, usando a utilidade sqlcmd
e o cmdlet Invoke-Sqlcmd
, para verificar a versão do SQL Server no PowerShell pode ser resumida em termos de abordagem, integração e usabilidade.
A principal distinção reside no fato de que o sqlcmd
é uma utilidade externa com integração limitada ao PowerShell. Ele opera como uma ferramenta de linha de comando separada e, embora possa ser usado dentro de scripts do PowerShell, não oferece o mesmo nível de integração e flexibilidade que o Invoke-Sqlcmd
.
Por outro lado, o Invoke-Sqlcmd
é um cmdlet nativo do PowerShell projetado especificamente para interagir com o SQL Server. Ele oferece uma abordagem mais poderosa e integrada para gerenciar dados do SQL Server dentro de scripts do PowerShell, e esse cmdlet permite uma integração perfeita com o PowerShell, saída estruturada e capacidades avançadas de manipulação de dados.
Conclusão
Este tutorial explora dois métodos para verificar a versão do SQL Server no PowerShell: usando a utilidade sqlcmd
e o cmdlet Invoke-Sqlcmd
.
A utilidade sqlcmd
, uma ferramenta de linha de comando, oferece controle de linha de comando e não requer instalações de módulos adicionais. No entanto, sua saída pode exigir análises adicionais, e possui recursos limitados em comparação ao Invoke-Sqlcmd
.
O cmdlet Invoke-Sqlcmd
, uma ferramenta nativa do PowerShell, oferece integração perfeita com o PowerShell, saída estruturada e amigável ao usuário, e uma ampla gama de recursos do SQL Server. No entanto, requer a instalação do módulo SqlServer
.
Como uma boa prática, devemos estar cientes de que nomes de software e módulos podem mudar ao longo do tempo, e é essencial verificar o nome do módulo e a versão com base em seu ambiente atual. Isso garante que o código e os métodos fornecidos permaneçam relevantes e funcionais.