SQL Operations Studio Preview v0.25.4 – Janeiro 2018


A Microsoft disponibilizou para download nesta semana o SQL Operations Studio Preview v0.25.4. A ferramenta está disponível para Windows, macOS e Linux.

Se você ainda não conhece esta nova ferramenta, saiba que o SQL Operations Studio é uma ferramenta gratuita para gerenciamento do SQL Server, Azure SQL Database e Azure SQL Data Warehouse.

A primeira versão Preview pública foi lançada no início de novembro de 2017. De acordo com o changelog, a versão 0.25.4 traz correções de bugs, corrige um problema com o tamanho do ícone no menu Iniciar, muda o campo Nome do servidor para Servidor na caixa de diálogo Conexão e mais.

Confira a lista completa de melhorias e correções disponíveis no changelog clicando aqui.

Microsoft SQL Operations Studio Preview v0.25.4

A versão para Windows do SQL Operations Studio Preview v0.25.4 está disponível para download aqui com instalador e aqui em versão portátil (não requer instalação). As versões para outras plataformas e as instruções de instalação podem ser encontradas aqui.

Para maiores informações acesse: https://docs.microsoft.com/en-us/sql/sql-operations-studio/what-is

Fontes e Direitos Autorais: Microsoft – 17/01/2018 – https://docs.microsoft.com/en-us/sql/sql-operations-studio/release-notes

Anúncios

Microsoft anuncia o lançamento do Powershell Core 6.0


A Microsoft anunciou nesta semana a disponibilidade do PowerShell Core 6.0, uma versão multi-plataforma e open-source do PowerShell, para Windows, macOS e Linux.

Apesar do “6.0” no nome, esta é a primeira versão oficial do PowerShell Core.

A versão para Windows do PowerShell Core 6.0 é compatível com o Windows 7, Windows 8.1, Windows 10, Windows Server 2008 R2, Windows Server 2012 R2 e Windows Server 2016.

A versão para macOS é compatível com a versão 10.12 e posteriores e a versão para Linux é compatível com distribuição como Ubuntu, CentOS, Red Hat Enterprise Linux, OpenSUSE e Fedora.

Assim como o .NET e o .NET Core, o PowerShell Core é uma versão open-source do PowerShell. A Microsoft não pretende mais lançar novas versões do Windows PowerShell “normal”, com a 5.1 sendo a última*.

*Ela continuará recebendo correções durante seu ciclo de vida, mas a 5.1 é a última grande versão do Windows PowerShell.

O PowerShell Core também pode ser usado mesmo em sistemas com o Windows PowerShell instalado.

Alguns recursos suportados pelo Windows PowerShell, como PowerShell Workflows, Snap-ins e cmdlets WMlv1, não são suportados no PowerShell Core 6.0, mas isso pode mudar no futuro.

O PowerShell Core será atualizado regularmente pela Microsoft.

Microsoft lança o PowerShell Core 6.0

A empresa anunciou seu plano de tornar o PowerShell open-source e compatível com macOS e Linux em 2016. A empresa também disponibilizou uma versão de testes na época.

Profissionais de TI interessados podem obter mais informações no post com o anúncio da versão 6.0 publicado aqui pela Microsoft.

Instruções para download e instalação do PowerShell Core 6.0 no Windows podem ser encontradas aqui. Já as instruções para download e instalação no macOS e Linux estão disponíveis aqui.

Fontes e Direitos Autorais: PowerShell Team Blog – 10/01/2018.

Project Honolulu Technical Preview v1711 build 15002


A Microsoft anunciou em seu blog Server Management Experience a disponibilidade no TechNet Evaluation Center do Project Honolulu Technical Preview v1711 build 15002.

Project Honolulu Technical Preview v1711 build 15002

Disponível para download aqui, o Project Honolulu é uma experiência flexível e instalada localmente que possibilita o gerenciamento do Windows Server usando o navegador.

Com ele você pode substituir diversas soluções de gerenciamento e configuração, como snap-ins do Microsoft Management Console, o Server Manager do Windows Server, o Gerenciador de Tarefas e etc.

O Project Honolulu Technical Preview v1711 build 15002 pode ser instalado no Windows 10, no Windows Server 2016 e no Windows Server Technical Preview. As instruções para instalação e requisitos estão disponíveis através do link: https://docs.microsoft.com/en-us/windows-server/manage/honolulu/deployment-guide

Quem já tem o Honolulu instalado verá uma notificação “Update available” em sua página inicial indicando que a atualização está disponível.

As novidades neste build incluem uma nova ferramenta Remote Desktop, melhorias na performance da interface e mais.

Fontes e Direitos Autorais: Microsoft | TechNet – 07/12/2017 – https://blogs.technet.microsoft.com/servermanagement/2017/12/07/1711-update-to-project-honolulu-technical-preview-is-now-available/

#09 – Para que serve


Boa noite pessoal!!! Salve galera….

 

Tudo bem? Como passaram os últimos dias?

Graças a deus continuo forte na minha batalha profissional e acadêmica, como eu sempre falo para meus alunos, a vida é uma roda gigante e não podemos deixar ela parar muito menos perder a chance de curtir e aprender com cada momento.

Seguindo esta onda de oportunidades, estou retornando com mais uma post dedicado a sessão Para que serve, e conforme prometido hoje vamos finalizar o assunto de índices hipotéticos apresentado inicialmente no post: https://pedrogalvaojunior.wordpress.com/2016/08/06/07-para-que-serve/

Neste post vamos entender como o comando DBCC Autopilot pode influenciar o database engine e seus elementos execution plan e query optimizer na execução de nossas consultas, então vamos nessa galera…..


Começa agora o #09 – Para que serve – Índices Hipotéticos – Final.

 

Conforme apresentado nos posts anteriores o conceito de índices hipotéticos é uma técnica antiga, mas pouco conhecida na área de banco de dados. Para muitos profissionais da área este tipo de recurso acaba sendo algo obscuro e de pouco compreensão, por outro lado outros profissionais destacam como sendo como um recurso que permite simular a existência de um índice de forma lógica. Como em qualquer área profissional ou acadêmica sempre vai existir os dois lados da moeda e cabe a cada um de nós procurar entender, respeitar e conhecer estas opiniões.

Seguindo em frente, vamos dar continuidade em nosso estudo, fazendo uso da estrutura criada anteriormente no post: https://pedrogalvaojunior.wordpress.com/2016/09/03/08-para-que-serve/

Como você pode ter verificado, criamos o banco de dados HypotheticalDB e dentro dele os seguintes objetos apresentados na Figura 1:

hypotheticaldb-figura1

Figura 1 – Relação de objetos criados no banco de dados HypotheticalDB.

Podemos observar a existência dos três índices hipotéticos criados anteriormente para tabela ClientesCategorias, bem como, o código da tabela ClientesCategorias definido no valor: 597577167. Anote bem este código post nos próximos passos vamos fazer uso do mesmo.

Agora que já relembramos um pouco do que foi feito anteriormente em relação ao nosso ambiente, podemos continuar a fazer uso dos índices hipotéticos em nosso ambiente, onde neste momento vamos fazer com que o Microsoft SQL Server realize o uso deste recurso de forma empírica na execução da nossa query, para tal iremos utilizar o comando DBCC AutoPilot, caso você ainda não conheça ou não se lembre deste comando o mesmo foi apresentada de maneira detalhada no post: https://pedrogalvaojunior.wordpress.com/2016/08/06/07-para-que-serve/

Então mãos no teclado, chegou a hora de utilizarmos o comando DBCC AutoPilot fazendo uso do bloco de código 1, mas antes de teclar F5, clique no botão “Include Actual Execution Plan” ou tecle Ctrl+M para ativar o mesmo. Para que você possa entender o que será executado neste bloco de código e qual será o resultado apresentado é obrigatório que o plano de execução se encontre ativado.

Agora que você já realizou este procedimento, pode dar continuidade e executar o bloco de código 1 apresentado abaixo:

— Bloco de Código – Utilizando o DBCC AutoPilot forçando o uso do índice clusterizado IND_ClientesCategorias_Clusterizado_CodigoComEstatisticas –

Use HypotheticalDB

Go

 

DBCC AUTOPILOT (5, 5, 0, 0, 0) – Ativando o commando DBCC AutoPilot para iniciar uma nova sessão limpando o buffer de comando executados anteriormente —

 

DBCC AUTOPILOT (6,5,597577167,4) – Utilizando o commando DBCC AutoPilot orientado no uso exclusive de índices clusterizado —

GO

 

SET AUTOPILOT ON — Ativando a diretiva —

Go

 

Select C.Codigo,

Cc.Codigo As ‘Categoria do Cliente’,

C.Nome,

C.Endereco,

C.Estado,

C.DataUltimaCompra

From Clientes C Inner Join ClientesCategorias CC

On C.CodigoCategoria = CC.Codigo

Where C.Estado = ‘SP’

Go

 

SET AUTOPILOT OFF — Desativando a diretiva —

GO

 

Acredito que tudo deva ter ocorrido normalmente e você tenha conseguido realizar a execução do bloco de código 1 apresentado acima, neste momento o Management Studio apresentou em sua guia denominada execution plan o conjunto de operadores similares aos apresentados na Figura 2 a seguir:

hypotheticaldb-figura2

Figura 2 – Resultado da execução do bloco de código 1.

 

Note que o plano de execução nos apresenta dois operados do tipo Clustered Index Seek, respeitando a ordem de execução, temos o segundo operador com o custo de 51% de processamento apontando para o nosso índice clusterizado IND_ClientesCategorias_Clusterizado_CodigoComEstatisticas, neste momento você pode estar se perguntando.

Como o Database Engine em conjunto com o Query Optimizer e Execution Plan identificou a existência deste recurso sendo que o mesmo é algo hipotético, algo que somente existe de forma lógica, a resposta pode ser encontrada justamente na maneira que o comando DBCC AutoPilot foi declarado e posteriormente executado, onde temos o seguinte conjunto de valores passados como parâmetros de entrada:

PARÂMETRO DESCRIÇÃO VALOR DECLARADO
TypeID TypeID = 6: Usar apenas índices clusterizados 6
DbID ID do Banco de Dados 6 – HypotheticalDB
TabID Id da Tabela a ser utilizada 597577167
Indid Id do índice a ser utilizado 4

Foi através deste conjunto de valores apresentado no DBCC AutoPilot e posteriormente reconhecido e interpretados pelo database engine que o Query Optimizer e Execution Plan fizeram uso do nosso índice clusterizado.

Não é algo fantástico, realmente uma capacidade de análise e reconhecimento de recursos fora do comum, realmente o Microsoft SQL Server é um produto acima de qualquer suspeita, um software surpreendente.

Para finalizar vamos agora forçar o uso do nosso índice nonclustered IND_ClientesCategorias_NaoClusterizado_CodigoSemEstatisticas e observar qual será o comportamento e resultado apresentado pelo Management Studio após a execução do bloco de código 2 apresentando na sequência:

— Bloco de Código 2 – Forçando o uso do índice não clusterizado IND_ClientesCategorias_NaoClusterizado_CodigoSemEstatisticas –

DBCC AUTOPILOT (5, 5, 0, 0, 0)

DBCC AUTOPILOT (0,5,597577167,2)

GO

 

SET AUTOPILOT ON — Ativando a diretiva —

Go

 

Select C.Codigo,

Cc.Codigo As ‘Categoria do Cliente’,

C.Nome,

C.Endereco,

C.Estado,

C.DataUltimaCompra

From Clientes C Inner Join ClientesCategorias CC

On C.CodigoCategoria = CC.Codigo

Where C.Estado = ‘SP’

Go

 

SET AUTOPILOT OFF — Desativando a diretiva —

GO

 

Verificando o resultado apresentado na Figura 3 abaixo, tendo como base a guia Execution Plan, podemos notar a presença do operador Index Seek apontando para nosso índice não clusterizado: IND_ClientesCategorias_Clusterizado_CodigoComEstatisticas.

hypotheticaldb-figura3
Figura 3 – Resultado da execução do bloco de código 2.

Analisando com mais calma o resultado apresentado na Figura 3, fica fácil identificar a presença do operador Index Seek como já havia destacado, quando o comando DBCC AutoPilot foi executado com o seguinte conjunto de valores:

PARÂMETRO DESCRIÇÃO VALOR DECLARADO
TypeID TypeID = 0: Usar apenas índices não clusterizados 0
DbID ID do Banco de Dados 6 – HypotheticalDB
TabID Id da Tabela a ser utilizada 597577167
Indid Id do índice a ser utilizado 2

Não é algo surpreendente e simples, esse é o Microsoft SQL Server, mais uma vez dando show, mais uma vez com um grande exibição, monstrando toda sua elegância, simplicidade e capacidade de nos supreender no processamento de transações e apresentação de resultados.

Desta forma, chegamos ao final de mais post da sessão Para que serve!


 

Espero que você tenha gostado, que as informações compartilhadas aqui possam lhe ajudar a se tornar cada vez um profissional de banco de dados reconhecido e valorizado, um dos papéis na área de tecnologia mais importantes para qualquer empresa.

Reconher o verdadeiro papel de um DBA dentro de sua estrutura, é reconhecer o verdadeiro valor de seus dados e como eles podem se tornar uma infomação valiosa para sua tomada de decisão.

Caso deseje acessar os posts anteriores desta sessão, utilize os links listados abaixo:

Mais uma vez obrigado por sua visita, um forte abraço, nos encontramos em breve.

Até mais.