#02 – Para que serve


Ei galera, comunidade e amantes de Banco de Dados, boa tarde.

Sexta – feira, mas que beleza final de semana chegando, dois dias de descanso merecidos, mas isso pra mim não muda em nada, sabe por que? Pois ainda estou de férias, férias (kkkkkkkkkk).

Deixando isso de lado a vida continua, ela não pode parar principalmente a vida tecnlógica, alias essa minha vida tecnológica viva a toda sempre em um ritmo acelerado, e como vocês podem observar nos últimos dias meu blog esta bombando de posts, parece até que estou com mais vontade para interagir com vocês.

Neste segundo post da sessão Para que Serve, vou trazer algo que muitos dos profissionais de banco de dados sempre utilizam naqueles momentos em que tudo parece não dar certo, estou me referindo as boas e velhas Trace Flags(isso não é magia negra, bruxaria ou assombração, isso é tecnologia, kkkkkk) existentes no Microsoft SQL Server desde suas primeiras versões.

Posso dizer com grande tranquilidade, elas são algo mágico que a equipe de engenheiros e desenvolvedores do Microsoft SQL Server está sempre acrescentando e melhorando em cada versão do produto. Ao fazer a escolhar de usar uma, duas ou três trace flags, podemos estar alterando totalmente o comportamento por parte do SQL Server uma sessão, transação, conexão, banco de dados e até mesmo servidor/instância durante o processamento de uma ou mais querys.

No post de hoje, vou apresentar e ilustrar três trace flags pertencentes a lista de trace flags não documentadas, como você deve ter ouvido falar em algum momento, existem diversas trace flag(alguns dizem que são fantasmas existentes no SQL Server) que a Microsoft não apresenta ou possui documentação oficial, ainda mais se pesquisarmos nos próprios sites Microsoft dedicados os produto ou no Books On-Line.

Estou me referindo especificamente as Trace Flags: 3604, 9204, 9292, onde as flags 9204 e 9292 possuem algo em comum que você vai descobrir no decorrer deste post. Então vamos em frente, vamos lá conhecer um pouco mais sobre estas “trace flags fantasminhas”, abaixo destaco um pequeno resumo de cada trace flag, no final dois exemplos de como podemos utilizar cada uma delas no Microsoft SQL Server 2012 ou 2014.

Caso você não possua nenhuma destas versões, utilize os links abaixo para realizar os downloads:


 

Bom divertimento, começa aqui o #02 – Para que serve!!!

  • Trace Flag 3604: Dentre as trace flags desconhecidas ou não documentas a 3604 é bastante comum de ser encontrada na internet em diversos posts, artigos e publicações. Basicamente sua função é apresentar as mensagens geradas pelo SQL Server durante o processo de rastreamento ou monitoramento estatístico na guia de mensagens existentes no Management Studio.
    Quando realizamos habilitamos esta flag para uso através do comando DBCC TraceON (3604) esta orientando o SQL Server a direcionar as mensagens oriundas ou resultando do rastreamento estatístico para guia de mensagens, desta forma poderemos fazer a análise destas mensagens. Para ativar a trace flag utilize o comando DBCC TraceON (3604) ou DBCC TraceOFF (3604) para desativar, ou se preferir utilize a opção QueryTraceOn em sua respectiva query.

 

  • Trace Flag 9204: Esta trace flag pode ser considerada um dos elementos fundamentais para os profissionais de banco de dados, no momento em que estão realizando uma análise ou monitoramento da performance do SQL Server durante a execução de uma query. A 9204 permite entender e apresentar como podemos saber quais as estatísticas na verdade estão sendo utilizadas pelo otimizador de querys para calcular ou estimar o nível de cardinalidade. Desta maneira, torna-se possível identificar possíveis problemas por parte do SQL Server em obter dados relacionados. Ativando a Trace Flag 9204 o SQL Server vai apresentar na guia de mensagens existem no Management Studio um pequeno cabeçalho sobre objetos de estatísticas totalmente carregado e usado pelo otimizador de querys para estimativar o número de cardinalidade gerado e consumido para obtenção dos dados requeridos por parte da transação executado. Este cabeçalho é conhecido como Stats loaded.
    Para ativar esta a flag utilize o comando DBCC TraceON (9204) ou DBCC TraceOFF (9204) para desativar, ou se preferir utilize a opção QueryTraceOn em sua respectiva query.

 

  • Trace Flag 9292: No momento em tomamos a decisão de utilizar a flag 9292, orientamos o SQL Server a apresentar todos os objetos estatísticos considerados úteis por parte do plano de execução para realizar o processamento e retorno dos dados. O uso da trace flag 9292 dentro de uma sessão ou query específica, nos ajuda a entender e conhecer como as estatísticas e seus elementos podem mudar totalmente a maneira que o plano de execução é idealizado, armazenado e processado.
    Através da flag 9292 podemos obter um relatório sobre as estatíticas para cada objeto envolvido em nossa query, onde estes supostos objetos devem ser considerados úteis, ou melhor dizendo válidos e aplicáveis no decorrer do caminho realizado até a apresentação do resultado.
    Esta é uma trace flag que pode ser usado durante a resolução de problemas, onde sua função é apresentar na guia de mensagens do Management Studio, um pequeno cabeçalho contendo informações estatísticas sobre cada componente útil e válido para formas os dados estatísticos de processamento da query. Este cabeçalho é conhecido como Stats header loaded.
    Para ativar a trace flag utilize o comando DBCC TraceON (9292) ou DBCC TraceOFF (9292) para desativar, ou se preferir utilize a opção QueryTraceOn em sua respectiva query.

 


Conforme destacado no início deste post, vou apresentar dois exemplos básicos de como podemos fazer uso destas trace flags:

— 1 – Exemplo – Utilizando as Trace Flags: 3604, 9204 e 9292 na sessão através do comando DBCC TraceOn/TraceOff —

Use [AdventureWorks2012]
Go

DBCC FreeProcCache
Go

DBCC TraceOn (3604)
DBCC TraceOn (9292)
DBCC TraceOn (9204)

Select * From Person.Person
Where lastName like ‘D%’

DBCC TraceOff (3604)
DBCC TraceOff (9292)
DBCC TraceOff (9204)
Go

— 2- Exemplo – Utilizando as Trace Flags: 3604, 9204 e 9292 de forma específica na query através da opção QueryTraceOn —

Use [AdventureWorks2012]
Go

DBCC FreeProcCache
Go

Select * From Person.Person
Where lastName like ‘D%’
option
(
querytraceon 3604,
querytraceon 9292,
querytraceon 9204
)
Go

Ótimo que estão os exemplos, podemos observar através da Figura 1 apresentada a seguir como os respectivos cabeçalhos são apresentados pelas Trace Flags 9292 e 9204 na guia de mensagens do Management Studio, vale ressaltar que a importância da trace flag 3604 para ativar apresentação de informações ocultas na guia de mensagens do Management Studio.

Cabeçalhos-Trace-Flags
Figura 1 – Cabeçalhos gerados na utilização das Trace Flags 9292 e 9204.

 

 

 


 

Ficou interessado em saber mais sobre as Trace Flags? Acesse um dos links apresentados abaixo e descubra mais sobre estas fantásticas funcionalidades presentes e também “escondidas” no Microsoft SQL Server.

Links:


 

 

E ai gostou do #02 – Para que serve, eu gostei, claro sou suspeito a falar, mas torço e espero que você tenha gostado, de preferência de todo post, mas isso não for possível, quem sabe pelo menos uma parte espero que tenha chamado a sua atenção.

Com isso chegamos ao final de mais um Para que Serve, agradeço sua participação e visita ao meu blog. Não deixe de contribuir com críticas, sugestões, comentários, opiniões, enfim contribua também interagindo cada vez mais proporcionando esta troca de conhecimento.

Um grande abraço, sucesso, nos encontramos em breve.

Tchau.

Anúncios

Azure Marketplace agora oferece máquinas virtuais com SQL Server Express


A Microsoft anunciou recentemente no blog do Azure que o Azure Marketplace agora oferece máquinas virtuais com as versões 2014, 2012 e 2008 R2 do SQL Server Express.

O SQL Server Express é uma edição gratuita do SQL Server e é ideal para aprender, desenvolver e capacitar aplicativos Web, para desktop e para servidores de pequeno porte.

Azure Marketplace agora oferece máquinas virtuais com SQL Server Express
O SQL Server Express pode ser usado com linguagens de programação como .NET, JDBC, PHP e outras e suporta aplicações Web como WordPress e Drupal.

A versão Express tem algumas limitações, como 1GB de memória e 10GB por banco de dados. As máquinas virtuais incluem tanto o SQL Server Express como o SQL Server Management Studio.

O SQL Server Express é gratuito, então só será preciso pagar pela execução da máquina virtual.

Confira as máquinas virtuais com SQL Server Express no Azure Marketplace:

Clique na imagem para conferir as máquinas virtuais no Azure Marketplace

Clique na imagem para conferir as máquinas virtuais no Azure Marketplace

Fontes e Direitos Autorais: Baboo.com.

Atualização Cumulativa 5 para SQL Server 2014 SP1


A Microsoft disponibilizou recentemente para download a Atualização Cumulativa 5 para SQL Server 2014 SP1. O Service Pack 1 (ou SP1) foi lançado no primeiro semestre de 2015.

Atualização Cumulativa 5 para SQL Server 2014 SP1

A Microsoft disponibilizou recentemente para download a Atualização Cumulativa 5 para SQL Server 2014 SP1. O Service Pack 1 (ou SP1) foi lançado no primeiro semestre de 2015

Atualização Cumulativa 5 para SQL Server 2014 SP1

Disponível para download aqui, a Atualização Cumulativa 5 para SQL Server 2014 SP1 contém correções para problemas descobertos depois do lançamento do SQL Server 2014 SP1.

Ela também já traz todas as correções oferecidas pelas Atualizações Cumulativas anteriores.

Entre os bugs corrigidos pela Atualização Cumulativa 5 para SQL Server 2014 SP1 estão um que faz com que o SQL Server pare de responder em certos cenários, um que faz com que uma mensagem de erro (Violação de Acesso) seja exibida quando você usa o ODBC Driver11 no SQL Server 2014 e um que causa erros quando você usa o recurso de replicação do SQL Server 2014.

A lista com todos os bugs corrigidos por esta atualização pode ser encontrada no artigo KB3130926 publicado no site de suporte da Microsoft.

Fontes e Direitos Autorais: Baboo.com – Sid Vicious.

Windows 10 Deployment and Management Lab Kit é atualizado


A Microsoft disponibilizou recentemente para download na TechNet uma versão atualizada do Windows 10 Deployment and Management Lab Kit.

O kit inclui tudo que você precisa para revisar as novas opções de upgrade e os métodos de implantação tradicionais, e também traz algumas ferramentas de gerenciamento.

Windows 10 Deployment and Management Lab Kit

A versão atualizada deste kit gratuito inclui as versões de avaliação dos seguintes produtos:

– Windows 10 Enterprise v1511 (Threshold 2)
– System Center 2012 Configuration Manager Service Pack 2
– Windows Assessment and Deployment Kit para Windows 10
– Microsoft Deployment Toolkit 2013 Update 2
– Windows Server 2012 R2

Ele também traz diversos laboratórios passo a passo que guiarão você através de múltiplos cenários de implantação e gerenciamento, incluindo:

– Criação da imagem
– Implantação Lite-touch e zero touch
– Gerenciamento do Windows 10 com o Configuration Manager
– Integridade de código
– Provisionamento do Windows 10
– In-place upgrade

Faça o download da versão atualizada do Windows 10 Deployment and Management Lab Kit clicando na imagem abaixo:

Windows 10 Deployment and Management Lab Kit é atualizado

Importante: Alguns itens deste kit expirarão em 15 de abril de 2016. A Microsoft lançará uma nova versão antes desta data.

Fontes e Direitos Autorais: Baboo.com – Sid Vicious @ 24 fev 2016 | 12:37 pm

Microsoft anuncia a compra da Xamarin


A Microsoft anunciou nesta semana a compra da Xamarin, provedora líder em soluções para o desenvolvimento de aplicativos para dispositivos móveis.

Microsoft anuncia a compra da Xamarin

Microsoft anuncia a compra da Xamarin

Em associação com o Visual Studio, a Xamarin oferece soluções em desenvolvimento mobile que permitem aos desenvolvedores produzir aplicativos utilizando C# e entregar experiências de apps mobile nativas para todos os principais dispositivos – incluindo iOS, Android e Windows.

A abordagem da Xamarin capacita os desenvolvedores a tirar proveito da produtividade e poder do .NET para produzir aplicativos para dispositivos móveis e utilizar o C# para desenvolver o conjunto completo de APIs nativas e capacidades móveis fornecidas pelas plataformas de dispositivos. Isso permite que os desenvolvedores compartilhem facilmente códigos comuns por seus aplicativos para iOS, Android e Windows e continuem entregando experiências nativas para cada uma das plataformas. As soluções únicas da Xamarin têm impulsionado um incrível crescimento por mais de quatro anos.

A Xamarin conta com mais de 15.000 clientes em 120 países, incluindo mais de cem companhias que fazem parte da lista Fortune 500, e mais de 1,3 milhão de desenvolvedores que utilizam seus produtos e serviços.

Companhias importantes como Alaska Airlines, Coca-Cola Bottling, Thermo Fisher, Honeywell e JetBlue usam Xamarin, assim como produtoras de jogos como SuperGiant Games e Gummy Drop. Com a Xamarin Test Cloud, todos os tipos de desenvolvedores mobile – C#, Objective-C, Java e desenvolvedores de aplicativos híbridos – podem testar e melhorar a qualidade de suas aplicações usando centenas de celulares e dispositivos hospedados na nuvem. A Xamarin foi recentemente considerada uma das principais startups que ajudam a internet a funcionar.

A Microsoft tem uma parceria de longa data com a Xamarin e as duas construíram em conjunto a integração com Visual Studio, Microsoft Azure, Office 365 e Enterprise Mobility Suite para fornecer aos desenvolvedores um fluxo de trabalho de ponta a ponta para aplicativos nativos e seguros por diversas plataformas. As empresas também trabalham para oferecer treinamento, ferramentas, serviços e fluxos de trabalho que os desenvolvedores necessitam para terem sucesso.

Com o anúncio da compra da Xamarin, ambas levarão esse trabalho ainda mais adiante para tornar suas ferramentas e serviços de desenvolvimento ainda melhores com uma integração mais profunda e experiências de desenvolvimento ainda mais refinadas.

A combinação de Xamarin, Visual Studio, Visual Studio Team Services e Azure fornece uma solução de desenvolvimento de aplicativos para dispositivos móveis completa que provê tudo o que você precisa para desenvolver, testar, entregar e instrumentalizar aplicativos para cada dispositivo.

Fonte: Microsoft Brasil – 25 de Fevereiro de 2016.

eBook gratuito: Implantando o Windows 10 com o System Center Configuration Manager


A Microsoft disponibilizou recentemente para download o ebook gratuito Implantando o Windows 10 com o System Center Configuration Manager.

Escrito por Andre Della Monica, Russ Rimmerman, Alessandro Cesarini e Victor Silveira, o livro tem 4 capítulos e 95 páginas.

eBook gratuito: Implantando o Windows 10 com o System Center Configuration Manager

eBook gratuito: Implantando o Windows 10 com o System Center Configuration Manager

O primeiro capítulo oferece uma visão geral do Windows 10 e de alguns de seus recursos, como o novo menu Iniciar, a Central de Ações e as áreas de trabalho virtuais.

O segundo capítulo cobre as diferentes opções de implantação disponíveis hoje, incluindo o upgrade via Windows Update a partir de versões anteriores e o Windows To Go.

O terceiro capítulo ajuda você a entender melhor os conceitos de implantação de sistemas operacionais usando o System Center Configuration Manager.

Por fim, o último capítulo do ebook gratuito Implantando o Windows 10 com o System Center Configuration Manager mostra passo a passo como implantar o novo sistema operacional da Microsoft usando esta solução.

O livro está disponível para download somente em inglês e nos formatos PDF, ePub e Mobi através dos links abaixo:

Download no formato PDF.
Download no formato ePub.
Download no formato Mobi.

Fontes e Direitos Autorais:  Baboo.com – Sid Vicious @ 25 fev 2016 | 12:52 pm

Dica do Mês – Utilizando a não documentada system view – SPT_Values


Buenas tardes….. Salve amantes de Banco de Dados!

Hoje terça – feira, estamos chegando ao final do mês de Fevereiro, estou aproveitando minhas férias no Flextronics Instituto de Tecnologia para descansar, renovar as minhas energias, cuidar dos meus filhos, esposas, enfim da minha vida, mas mantendo a minha missão e prazer em se aperfeiçoar cada vez mais em relação ao SQL Server e o mundo de Banco de Dados. Além disso, também tenho que manter vivo o meu blog, cuidando com carinho dos meus quase 2.000 seguidores, fazendo com eles não se sintam sozinhos ou desamparados(kkkkk).

Como eu destaquei no primeiro post desta sessão ao final de cada mês vou compartilhar com vocês uma pequena dica, levando-se em consideração os posts que sempre estou respondendo quase que diariamente nos Fóruns de SQL Server, como também, as dúvidas dos meus alunos, clientes e amigos de trabalho.

Seguindo este caminho uma das dúvidas que me chamou a atenção recentimente foi o questionamento que um aluno me fez referente a alguns recursos do Microsoft SQL Server que não estão documentados no Books On-Line, dentro eles a System View SPT_Values, isso mesmo se você nunca ouvi falar existem também alguns visões de sistemas presente no SQL Server não documentadas por parte da Microsoft.

Como costumo dizer para meus filhos, missão dada é missão cumprida! Neste caminho, lá vou eu, melhor dizendo lá eu fui….pela estrada a fora da internet pesquisando, consultando até encontrar mais informações para complementar o meu conhecimento em relação a esta system view, que sinceramente eu já tinha ouvido falar em meados de 2009, mas acredito que utilizei uma ou duas vezes sem saber exatamente como fazer uso.

Em algumas pesquisas na internet encontrei informações que indicam que esta visão de sistema é bastante antiga e esta presente no SQL Server desde as primeiras versões desenvolvidas inicialmente pela Sybase, conforme este link destaca: http://infocenter.sybase.com/archive/index.jsp?topic=/com.sybase.help.ase_15.0.sag1/html/sag1/sag126.htm

Particularmente eu já fiz isso desta visão, que possui algumas características interessantes:

  • Apresenta uma relação de 2523 linhas de registro que podem variar entre versões distintas do SQL Server;
  • Contem uma coluna denominada Number que armazena uma sequência de números de 0 até 2047;
  • Visão de sistema armazenada fisicamente no banco de dados Master; e
  • Considera como uma tabela auxiliar para geração de números ou cálculos matemáticos.

A Figura 1 apresentada abaixo ilustra a estrutura lógica da system view SPT_Values:

SystemView-SPT_Values
Figura 1 – Estrutura lógica da system view spt_valeus.

Dentre as principais formas de uso desta system view, algumas são bastante recorrentes e importantes para o profissionais de desenvolvimento:

  1. Análise de uma sequência de caracteres;
  2. Identificar falhas em sequências numéricas geradas através da proprieda Identity;
  3. Facilidade na geração de sequências de datas ou dados fictícios;
  4. Possibilidade de criação de ordenação e organização de dados de forma aleatória ou randômica.

Muito interessante todas estas possibilidades que este recurso tão escondido e presenta a anos pode oferecer e facilitar nossas vidas, desta forma, vou apresentar alguns exemplos de como podemos fazer uso desta system view.

 


Exemplos:

— 1 – Cálculando o fatorial de um número —

Declare @n int, @result float

Select @n = 4,@result=1

Select @result = @result * number From Master..spt_values

Where Type=‘p’ And Number Between 1 And @n

Select @result

Go

 

— 2 – Realizando a seperação de palavras —

DECLARE @var VARCHAR(100)

SET @var = ‘Conhecendo, cada, vez, mais, os segredos, do SQL Server…..’

SELECT

SUBSTRING (‘,’ + @var + ‘,’,Number + 1,CHARINDEX(‘,’,‘,’ + @var + ‘,’,Number + 1) Number 1) as value

FROM master..spt_values

WHERE Number >= 1

AND Number < LEN(‘,’ + @var + ‘,’) 1

AND SUBSTRING(‘,’ + @var + ‘,’, Number, 1) = ‘,’

AND type = ‘P’

ORDER BY Number

 

 Go

 

— 3 – Gerando um calendário mensal em tempo de execução, com base, no mês atual —

Select dateadd(month,datediff(month,0,getdate()),0) + number

from master..spt_values n with (nolock)

where number between 0 and day(dateadd(month,datediff(month,-1,getdate()),0) 1) 1 and type = ‘p’

Go

 

— 4 – Listando todas as horas de um dia, com base, na data atual —

Select dateadd(hour,number,dateadd(day,datediff(day,0,getdate()),0))

from master..spt_values n with (nolock)

where number between 0 and 23 and type = ‘p’

Go

 


 

 

Sensacional, quantas diversas possibilidades, maneiras e formas de utilização podem ser utilizadas com a system view SPT_Values, realmente fica complicado entender o porque a Microsoft não da suporte a documentação deste recurso, mas podemos pensar e considerar que por se tratar de recurso antigo oriundo da Sybase a Microsoft entenda que seja necessário recomendável elaborar uma documentação e ser adicionada ao Books On-Line. Mas vamos em frente, quem sabe no futuro isso possa mudar, pois existem muitas outras funcionalidades, comandos, stored procedures e recursos que a Microsoft também não esta documentando.

Deixando isso de lado, vou encerrar mais esta dica, espero e tenho a certeza que você gostou deste post, torço para que esta dica possa lhe trazer diversas possibilidades de utilizar este recurso, use sua imaginação e conhecimento com o SQL Server para encontrar outras maneiras de consumir e se aproveitar desta system view.

Mais uma vez obrigado, agradeço a sua visita, deixe sua crítica, sugestão, comentário e também contribua apresenta uma outra maneira que você já utilizou ou imagina que podemos utilizar a System Views SPT_Valeus.

Nos encontramos no próximos mês, com mais uma dica do mês.

Até lá.