#06 – Para que serve

Muito boa tarde pessoal……

Mais um dia lindo de muito sol e um pouco de calor para alegrar este sábado! Estou retornando com mais um post dedicado a sessão Para que Serve, sendo este o sexto post desta sessão criada no início de 2016, já passamos da metade do ano.

Pois bem, no post de hoje quero compartilhar com vocês um desafio que passei esta semana realizando a migração de alguns bancos de dados que estavam hospedados em um servidor com o Microsoft SQL Server 2008 R2 Enterprise para um outro servidor rodando o Microsoft SQL Server 2014 Standard.

A princípio algo que parece ser bastante tranquilo pois estamos falando de um upgrade de versão, mas na verdade seria um downgrade de edição, isso mesmo estaria evoluíndo no número da versão mas baixando o nível em relação ao tipo da edição. Foi justamente ai que surgiu o desafio identificar quais recursos meus atuais bancos de dados armazenados na edição Enterprise poderiam ser migrados diretamente para a edição Standard sem correr riscos ou se possível tentar limitar o máximo possível de impactos.

Neste momento, comecei a pensar como poderia realizar este tipo de procedimento de uma maneira fácil, ágil e simples, por alguns instantes pensei que poderia fazer uso do Upgrade Advisor, mas precisa de algo que como eu destaquei acima mais rápido e simples, além disso, uma funcionalidade existente dentro do Management Studio.

Por alguns instantes minha cabeça começou a processamento, me senti um Tom Hanks em um dos seus filmes da série O código da Vinci (nossa quem ve parece que isso seria possível kkkkk) foi como tivesse ocorrido um estálo, um momento de pura nostalgia me fazendo lembrar dos treinamentos de SQL Server 2008 e R2 que ministrei anos atrás(kkkk isso já faz tempo).

Voltando a realidade deixando de lado o momento de ator,  para minha alegria acabei rememorando uma das mais interessantes DMVs – Dynamic Management Views (Visão de Gerenciamento Dinâmica), estou me referindo a: sys.dm_db_persisted_sku_features implementada pela equipe de desenvolvedores e engenheiros do SQL Server a partir da versão 2008 e mantida até as atuais versões incluíndo a nova 2016.

E ai, você conhece esta funcionalidade? Já utilizou? Sabe para que ela serve?

Pois bem, estas e outras possíveis perguntas serão respondidas a partir de agora em mais este post da sessão Para que Serve!


Começa agora o #06 – Para que serve.

Quando pensamos em realizar a migração de um ou mais bancos de dados normalmente temos a necessidade de identificar os possíveis riscos e impactos que esta atividade pode apresentar, para muitos profissionais de banco de dados, administradores, gestores, enfim aqueles que de alguma maneira estão envolvidos neste tipo de cenário querer tentar fazer este procedimento no menor tempo possível, visando gerar o tão temido downtime!!! Isso mesmo tempo de parada que os sistemas podem ficar fora do ar.

Normalmente quando estamos se referindo ao Microsoft SQL Server existem alguns pontos de muito atenção que devemos se atentar um deles é a versão e edição que estamos atualmente utilizando mapeando seus recursos e funcionalidades através de um check-list gerando como resultado um mapeamento de compatilidade para estabelecer o nível de aderencia para a futura versão que vamos utilizar, ainda mais se estiverem planejando realizar o downgrade de edição em conjunto com o upgrade de versão.

Pensando nestes riscos e principalmente no mapeamento a Microsoft introduziu a partir da versão 2008 a DMV sys.dm_db_persisted_sku_features que nos permite de maneira rápida e fácil através do management studio ou via script identificar quais as funcionalidades exclusivas da edição Enterprise que podem estar sendo utilizadas. Como você a edição enterprise apresenta um lista de recursos e funcionalidades exclusivos que tornam esta a edição mais completa e poderosa de todas as edições disponíveis para se utilizar em relação ao SQL Server, dentre estas funcionalidades destaco as mais conhecidas:

Seguindo em frente, agora que já conhecemos algumas das funcionalidades exclusivas da edição Enterprise tendo como base as versões do SQL Server 2008 R2 até a versão 2016, vamos então fazer uso da sys.dm_db_persisted_sku_features, para isso vamos conecte em seu servidor SQL Server, abra uma nova query em seguida execute o bloco de código 1 apresentado abaixo:

— Código 1 — Consultando a lista de recursos habilitados —

Use Master

Go

Select * from sys.dm_db_persisted_sku_features

Go

Pronto, simples e prático, é possível notar que nosso Management Studio retornou um select contendo as colunas:

  1. feature_name = Nome da funcionalidade; e
  2. feature_id = Id ou código da funcionalidade.

Mas nenhum dado foi apresentado em ambas as colunas, isso representa que o banco de dados Master não esta fazendo uso de nenhum recurso exclusivo da edição Enterprise. Então vamos similar o uso de uma funcionalidade exclusiva, para isso vou utilizar como exemplo a CDC ou Change Data Capture, introduzida a partir da versão 2008 SQL Server posteriormente se tornou um recurso nativo do SQL Server. Desta forma, vamos utilizar o bloco de código 2 apresentado abaixo:

— Código 2 — Simulando o uso de uma funcionalidade exclusiva da edição Enterprise

— Criando o Banco de Dados CDC —
Create Database CDC
Go
— Habilitando o CDC para o Banco de Dados —
Use CDC
Go
Exec sys.sp_cdc_enable_db
Go
— Criando a Tabela de Exemplo —
Create Table Produtos
(Codigo Int Identity(1,1) Primary Key,
Descricao VarChar(20))
Go
— Habilitando o Change Data Capture para trabalhar sobre a table Produtos —
EXECUTE sys.sp_cdc_enable_table
@source_schema = N’dbo’,
@source_name = N’Produtos’,
@role_name = N’cdc_Admin’;
GO
Ufa estamos quase lá, agora vamos executar novamente o select na dmv sys.dm_db_persisted_sku_features 1 e observar o retorno de dados apresentados pelo Management Studio:

Select * from sys.dm_db_persisted_sku_features

Go

Muito bem, agora sim, observando o resultado do nosso select podemos notar claramente que estamos fazendo uso de uma funcionalidade exclusiva da edição Enterprise, neste caso será apresentado os seguintes valores:

  1. feature_name = ChangeCapture; e
  2. feature_id = 400.
Legal, muito legal mesmo, que fantástico, como o SQL Server é surpreende, sinceramente esse produto esta sempre me supreendendo com sua capacidade de recursos e funcionalidades, com base, neste simples select fica bem mais fácil obter a lista de funcionalidade exclusivas que estamos utilizando e com isso definir toda a estratégia para migração, upgrade ou qualquer outra técnica que podemos adotar para evitar o máximo possível de riscos e impactos para
nosso ambiente, como também, não proporcionar algum tipo de downtime.
Vale ressaltar que este tipo de recurso pode ser muito útil em ambientes considerados pequenos, mas que pode também ser analisado para cenários mais complexos e críticos.
Sucessooooooo, chegamos ao final de mais um post, tenho a certeza que agora vai ser mais fácil planejar qualquer migração de banco de dados ou versão de SQL Server antes mesmo de realizar esta tão misteriosa, intrigante e talvez complexa atividade.

Valeu galera!

Espero que você tenha gostado, que as informações compartilhadas aqui possam lhe ajudar a se tornar cada vez um profisisonal de banco de dados mais reconhecido e valorizado, algo que atualmente as empresas estão deixando muito de reconhecer o verdadeiro papel de um DBA que muitas vezes passa despercebido, mas é de grande e extremo valor para qual instituição, empresa ou corporação.

Anúncios

Sobre Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. 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. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. 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 1995 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, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. 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. Possuo titulações e Reconhecimentos: Microsoft MVP, MCC, MSTC e MIE.
Esse post foi publicado em Azure, Banco de Dados, Banco de Dados, Curiosidades, DBA, Dicas, Diversos, Interoperabilidade, Microsoft, MSDN, Mundo SQL Server, Para que serve, Sistema Operacional, SQL Server, TechNet, Utilitários, VIRTUAL PASS BR, Virtualização, Windows, Windows Core, Windows Server e marcado , , , , , , , , , , , . Guardar link permanente.

3 respostas para #06 – Para que serve

  1. Pingback: #07 – Para que serve – Junior Galvão – MVP – Data Platform – SQL Server

  2. Pingback: #08 – Para que serve – Junior Galvão – MVP – Data Platform – SQL Server

  3. Pingback: #09 – Para que serve – Junior Galvão – MVP – Data Platform – SQL Server

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s