É Pá e Bola com o SQL Server – ⑥

Sessão É Pá e Bola com o SQL Server, dicas rápidas, simples e práticas, sem se preocupar com formalidades….

Olá, bom dia….

Este é mais um post da nova Sessão É Pá e Bola com SQL Server.

Aqui o papo vai ser simples e direto, sem formalidade, com dicas rápidas para se fazer algo relacionado com Microsoft SQL Server de forma geral.

Você pode estar se perguntando o porque deste nome, eu já te respondo.

O porque é que todas as dicas a serem compartilhadas estão envolvidas com esportes praticados com bola, mas certamente outras modalidades terão seu devido destaque.

See the source image

No É Pá e Bola com o SQL Server – ⑥, vamos aprender como no Microsoft SQL Server temos a possibilidade de identificar sua versão, edição, configurações internas, recursos de hardware e software. Em adicional, demais propriedades importantes que podem nos ajudar a resolver problemas ou fazer uso de determinados recursos.

Estarei apresentando quatro formas diferentes de se conseguir consultar e obter as propriedades do nosso Servidor ou Instância, começando pela tradicional variável de sistema @@Version passando pela Extend Stored Procedure não documentada XP_MSVer e por final uma nova forma através do System Stored Procedure SP_Server_Info adicionado recentemente.

— Exemplo 1 – Bloco de Código —
Select @@VERSION — Versão do SQL Server + Sistema Operacional
Go

Por padrão esta varíavel de sistema ao ser executado retorna em tela as informações sobre a versão do Microsoft SQL Server em conjunto com sua última atualização aplicada, com também a versão do Sistema Operacional.

Particularmente eu não gosto da maneira como ele apresenta os dados em tela quando retornada no formato de tela, mas sim no formato texto conforme a Figura 1 abaixo apresenta:

ÉPaEBola-Figura1Figura 1 – Versão do SQL Server e Sistema Operacional apresentada após a execução da variável de sistema @@Version

— Exemplo 2 – Bloco de Código —
Exec XP_MSVer
Go

Conhecida mundial como um das centenas de Extended Stored Procedure não documentadas de forma oficial pelo time de produto do Microsoft SQL Server. A XP_MSVer apresenta um conjunto bem interessante de propriedades relacionadas ao SQL Server após sua execução, dentre as quais destaco:

  • FileVersionVersão do arquivo;
  • InternalNameNome interno do Microsoft SQL Server;
  • OriginalFileNameNome do arquivo executável do Microsoft SQL Server;
  • SpecialBuildNúmero de Build relacionado ao Windows; e
  • ProcessorTypeNúmero de identificação do Tipo de Processador.

A Figura 2 apresentada a seguir, ilustra o retorno completo logo após a execução do Bloco de Código 2:

ÉPaEBola-Figura2
Figura 2 – Conjunto de propriedades coletadas através da execução da Extend Stored Procedure XP_MSVer.

— Exemplo 3 – Bloco de Código —
SELECT SERVERPROPERTY(‘servername’) As “Nome do Servidor”,
SERVERPROPERTY(‘productversion’) As Versão,
SERVERPROPERTY (‘productlevel’) As “Service Pack”,
SERVERPROPERTY (‘edition’) As Edição
Go

Função adicionada ao Microsoft SQL Server a partir da versão 2012, a ServerProperty() nos permite obter diversas informações sobre as propriedades e configurações internas do Microsoft SQL Server.

A Figura 3 abaixo ilustra o resultado obtido logo após a execução do Bloco de Código 3:

ÉPaEBola-Figura3
Figura 3: Informações sobre o Microsoft SQL Server.

Além das opções que estarei apresentando no Bloco de Código 3 acima, gostaria de destacar outras:

  • CollationNome do Collate padrão definido para seu Servidor ou Instância;
  • ComputerNamePhysicalNetBiosNome do Computador baseado o protocolo NetBios, o qual se encontra o SQL Server em execução;
  • EngineEditionEdição do Microsoft SQL Server baseada no Mecanismo de Banco de Dados;
  • InstanceDefaultDataPath Caminho que representa o local padrão para o armazenamento dos arquivos de dados relacionados aos nosso bancos de dados; e
  • InstanceDefaultLogPathCaminho que representa o local padrão para o armazenamento dos arquivos de logs relacionados aos nosso bancos de dados.

— Exemplo 4 – Bloco de Código —
— Exemplo 1 – Lista completa de atributos —
Exec sp_server_info

Go

A System Stored Procedure SP_Server_Info, surge na minha lista como uma novidade, sinceramente eu nunca fiz uso desta stored procedure, inclusive tive a curiosidade de buscar mais informações sobre a mesma nos úlitmos dias, logo um questionamento que recebi no meu e-mail.

A Figura 4 ilustra o resultado obtido logo após a execução do Exemplo 1 acima:
ÉPaEBola-Figura4
Figura 4 – Lista completa de atributos identificados pela System Stored Procedure SP_Server_Info.

O conjunto de resultados retornados por esta system stored procedure é bem simples, formada por 3(três) colunas:

  1. Attribuite_ID – Número do Id do atributo;
  2. Attribute_Name – Nome do Atributo; e
  3. Attribute_Value – Configuração atual do atributo ou conjunto de valores.

Consultando a documentação oficial desta stored procedure disponibilizada pela Microsoft, através do link: sp_server_info (Transact-SQL) – SQL Server | Microsoft Docs. Podemos evidenciar que sua finalidade consiste em apresentar a lista de atributos e seus respectivos valores relacionados a instância ou servidor SQL Server, como também ao gateway de banco de dados ou fontes de dados subjacente ao uso do SQL Server.

Em adicional, além da lista completa de atributos existentes no Microsoft SQL Server,  temos a possibilidade de executar a sp_server_info de forma mais específica, informado o número do ID (identificador) que referência o atributo  que desejamos consultar.

O Exemplo 2 a seguir ilustra como podemos realizar esta forma de execução personalizada:

— Exemplo 2 – Lista completa de atributos —
Exec sp_server_info 18
Go

Conforme ilustrado acima, basta informar o número do ID que se refere ao atributo que desejamos consultar, para que a SP_Server_Info nos retorne o seu respectivo nome e seu conjunto de valores.

Desta forma, chegamos ao final…. simples, prático, rápido, mas nem sempre é fácil…..


É isso aí galera, aqui é É Pá e Bola com o SQL Server, espero que você tenha gostado….

Valeu….

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP – Faculdade de Informática e Administração Paulista de São Paulo. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação pela Uninove – Campus São Roque. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1994 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator – Administrador de Banco de Dados – SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, entre outros recursos. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping, etc. Trabalhei entre 2011 e 2017 como Administrador de Banco de Dados e Coordenador de TI no FIT – Instituto de Tecnologia da Flextronics, atualmente exerço a função de Professor Universitário na FATEC São Roque. CTO da Galvão Tecnologia, consultoria especializada em Gestão de TI, Administração de Servidores Windows Server, Bancos de Dados Microsoft SQL Server e Virtualização. Possuo titulação Oficial Microsoft MVP e reconhecimentos: MCC, MSTC, MIE e MTAC.