Como verificar a versão do SQL Server usando PowerShell

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

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 do sqlcmd.

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:

  1. -ServerInstance é uma opção que indica o servidor e a instância que queremos conectar.

  2. "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.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website