Vídeos: SQL Server 2012 AlwaysOn

Olá,
Para todos vocês que estão por dentro das novidades do SQL Server 2012 e não querem perder nenhuma referência do assunto, eu recomendo fortemente que todos vocês salvem o link que vou colocar abaixo.

O meu amigo e parceiro de empresa, Nilton Pinheiro (site | twitter) criou um canal no Youtube onde colocou sua série de vídeos sobre AlwaysOn. Nem precisa dizer que é visualização obrigatória para quem quer aprender ou se aperfeiçoar em AlwaysOn!

Segue o link do canal: http://www.youtube.com/user/MrNiltonPinheiro

Parabéns Mr. Nilton Pinheiro! Mais uma ótima iniciativa sua!

Abraços e Bons Estudos!
Erickson Ricci – @EricksonRicci

Max Server Memory: Alterações no SQL Server 2012

Introdução

Uma das configurações mais mal-interpretadas, na minha opinião, é a configuração “MAX SERVER MEMORY” no SQL Server. Isso se deve ao fato da Microsoft ter colocado no nome da configuração a palavra “SERVER”.

Até o SQL Server 2008 R2, a configuração “MAX SERVER MEMORY” definia o quanto de memória seria utlizado, essencialmente, para o Buffer Pool, ou Cache de Dados. O que não fizer parte do Buffer Pool vai ser utilizado “além” desta configuração, ou seja, “MAX SERVER MEMORY” não define o total de memória alocado para o servidor, mas somente para o Buffer Pool.

No SQL Server 2012 isso mudou. E não foi somente esta configuração que mudou. A intenção deste artigo é explicar um pouco mais em detalhes como se deu esta alteração de configuração e a partir de agora como iremos configurar o consumo de memória do SQL Server.

 

SQLOS e o Memory Manager

Para ser breve, SQLOS é o sistema operacional do SQL Server. Ele é composto por diversos componentes (veja imagem abaixo) e um deste componentes é o Memory Manager.

SQLOS

O Memory Manager é responsável por cuidar de todas as alocações de memória no SQL Server. Ele é formado por alguns componentes como os memory nodes, memory clerks, memory caches e memory objects. O Memory Manager é formado por estes componentes pois o acesso à memória do servidor não é feita de maneira direta. É através deste componentes que o Memory Manager faz acesso à memória e a entrega por assim dizer a quem a solicitou.

Memory Nodes são estruturas internas do SQLOS. Seu papel é fornecer a localização de uma alocação de memória. Há três tipos principais de alocação que podem ser realizadas (obs: para não tentar “aportuguesar” as coisas por aqui, irei manter os termos em inglês mesmo =D) :

  • Page Allocator
  • Virtual Allocator
  • Shared Memory Allocator

O que mais nos interesse neste momento é o tipo Page Allocator. Este tipo de alocação é chamada de alocação de páginas pelo que você deve estar imaginando mesmo (!), a alocação é feita em estruturas de 8K, o mesmo tamanho das páginas de dados do SQL Server.

Há quatro tipos de Page Allocators:

  • Single Page Allocator
  • Multi Page Allocator
  • Large Page Allocator
  • Reserved Page Allocator

Vamos dar maior atenção para Single e Multi Page Allocator. Como era de se imaginar, as alocações de memória são feitas, respectivamente, em páginas individuais e em multiplas páginas. Estas duas estruturas são a base fundamental das alterações ocorridas no Memory Manager no SQL Server 2012. Logo voltaremos a falar destas estruturas.

Outro componente importante do Memory Manager são os Memory Clerks. Os Memory Nodes não ficam disponíveis para acesso direto. Para que seja feita uma alocação de memória, o solicitante antes cria um Memory Clerk para ter acesso a um Memory Node. Quatro são os tipos de Clerks gerados:

  • Generic
  • Cache Store
  • User Store
  • Object Store

A esta altura do campeonato, você, leitor, deve estar se perguntando: e a configuração MAX SERVER MEMORY, o que tem a ver com tudo isso?! Vamos ver qual a relação das estruturas citadas acima com esta configuração.

 

Novo Memory Manager

O Memory Manager foi reescrito no SQL Server 2012 e a principal alteração se deu através da junção das estruturas de alocação Single Page Allocator (SPA) e Multi Page Allocator (MPA). Uma imagem vale mais que mil palavras, vejam abaixo as mudanças estruturais que o Memory Manager sofreu.

Memory Manager2008-2012

No diagrama do lado esquerdo temos o Memory Manager até o SQL Server 2008 R2. Veja que nele tínhamos ambas as estruturas, SPA e MPA. O Buffer Pool estava ali na parte de baixo e ele representava boa parte da memória consumida pelo SQL Server, sendo alocada através da SPA. Alocações da MPA e outras alocações eram consumidas em outra parte da memória.

Já no novo formato, o Memory Manager consolidou a SPA e a MPA e o Buffer Pool subiu. O que significa isso? O Buffer Pool e outras estruturas fazem uso de um único allocator, tanto single quanto multi e toda esta memória alocada ocupa uma mesma área de memória.

A partir de agora o Buffer Pool vai representar “praticamente” toda a memória do servidor (SQL Server), justificando o nome MAX SERVER MEMORY. Mas atenção, perceba o destaque para “praticamente” pois ainda não irá representar 100% do consumo de memória. Veja que no diagrama, CLR ainda fica de fora desta contagem. Mas temos de concordar que é uma mudança estrutural bem significativa.

Outra imagem que descreve bem as alterações é a que segue abaixo:

Memory differences in SQL2008 and SQL2012

As mudanças não param por aqui. A MAX SERVER MEMORY também tem um valor mínimo que pode ser configurado. Não seria possível, apesar de totalmente non-sense, configurar MAX SERVER MEMORY com valor 0 (zero). Até o SQL Server 2008 R2 o valor mínimo de MAX SERVER MEMORY era de 16MB. A partir do SQL Server 2012 os valores mínimos são:

  • Ambientes 32bits – 64MB
  • Ambientes 64bits – 128MB

Ainda como consequência das alterações estruturais do Memory Manager, as DMVs sys.dm_os_memory_* sofreram alterações, bem como o DBCC memorystatus. Mas isso é assunto para outro post… =D

 

Referências

Memory configuration and sizing considerations in SQL Server 2012
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2663912

SQL Server Memory Manager Changes in Denali
http://blogs.msdn.com/b/sqlosteam/archive/2011/01/04/sql-server-memory-manager-changes-in-denali.aspx

Memory Manager surface area changes in SQL Server 2012
http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx

SQLOS’s memory manager and SQL Server’s Buffer Pool
http://blogs.msdn.com/b/slavao/archive/2005/02/11/371063.aspx

Memory Manager Configuration changes in SQL Server 2012
http://blogs.msdn.com/b/sqlosteam/archive/2012/07/12/memory-manager-configuration-changes-in-sql-server-2012.aspx

SQLOS Resources
http://blogs.msdn.com/b/sqlosteam/archive/2010/06/23/sqlos-resources.aspx

SQLOS and Memory Management
http://blogs.technet.com/b/pfelatam/archive/2011/11/03/sqlos-and-memory-management.aspx

 

Leituras Recomendadas

SQL Server Memory Management Explained
http://www.sqlservercentral.com/articles/Memory/74867/

DBCC MEMORYSTATUS (Parte I)
http://blogs.msdn.com/b/fcatae/archive/2010/07/26/dbcc-memorystatus-parte-1.aspx

DBCC MEMORYSTATUS (Parte II)
http://blogs.msdn.com/b/fcatae/archive/2010/11/08/dbcc-memorystatus-parte-ii.aspx

Cache de Dados
http://blogs.msdn.com/b/fcatae/archive/2010/06/25/cache-de-dados.aspx

Monitorando a Memória do SQL Server
http://blogs.msdn.com/b/fcatae/archive/2010/06/16/monitorando-a-mem-243-ria-do-sql-server.aspx

Memory: Working Set
http://blogs.msdn.com/b/fcatae/archive/2010/03/31/memory-working-set.aspx

 

Espero que tenham gostado da leitura. Bons estudos e até breve.

Erickson Ricci (@EricksonRicci)

SQL Server 2012 Developer Training Kit

Desenvolvedores, administradores de bancos de dados, instrutores, consultores, influenciadores. Se você se enquadra em uma destas opções ou em qualquer outro bordão profissional de quem trabalha com SQL Server e já quer ficar atualizado com o SQL Server 2012 você deve fazer o download e estudar o SQL Server 2012 Developer Training Kit.

O que você irá encontrar nele:

  • Apresentações
  • Demonstrações
  • Hands-On Labs
  • Vídeos
  • Transcripts

Para quem quiser preparar algum workshop sobre o SQL Server 2012 este é um ótimo material. Pensando nisso, o pessoal da comunidade técnica no Technet Wiki preparou este conteúdo de referência para realizar este tipo de workshop. Veja os tópicos sugeridos:

  • Day 1: Introduction and Database Engine Topics
    • Module 1: Introduction to SQL Server 2012
    • Module 2: Introduction to SQL Server 2012 AlwaysOn
    • Module 3: Exploring and Managing SQL Server 2012 Database Engine Improvements
    • Module 4: SQL Server 2012 Database Server Programmability
  • Day 2: Visual Studio, .NET and Business Intelligence Topics
    • Module 5: SQL Server 2012 Application Development
    • Module 6: SQL Server 2012 Enterprise Information Management
    • Module 7: SQL Server 2012 Business Intelligence
  • Hands-On Labs
    • Topic: SQL Server 2012 Database Engine
    • Topic: Visual Studio 2010 and .NET 4.0
    • Topic: SQL Server 2012 Enterprise Information Management
    • Topic: SQL Server 2012 Business Intelligence
    • Topic: Windows Azure and SQL Azure

Referências:

SQL Server 2012 Developer Training Kit Content (en-US)
http://social.technet.microsoft.com/wiki/contents/articles/6976.sql-server-2012-developer-training-kit-content-en-us.aspx

SQL Server 2012 Developer Training Kit BOM (en-US)
http://social.technet.microsoft.com/wiki/contents/articles/6982.sql-server-2012-developer-training-kit-bom-en-us.aspx

Bons estudos e até breve!

Erickson Ricci (@EricksonRicci)

Cumulative Update 2 para SQL Server 2012

Olá,

Já está disponível (há algum tempo…) o Cumulative Update 2 para o SQL Server 2012.

Acesse aqui: Cumulative update package 2 for SQL Server 2012 ia available

Para quem não conhece ( sempre tem alguém…. =D ), Cumulative Update é um Hotfix, ou atualização de software, que a Microsoft disponibiliza para corrigir Bugs e/ou implementar/melhorar novas funcionalidades aos seus produtos e assim ocorre também com o SQL Server. Quando são gerados alguns CUs, a Microsoft pode tomar a decisão de juntar todas as atualizações em um grande release, conhecido como Service Pack, que normalmente contempla todas as atualizações anteriores de CUs e mais algumas.

Eu particularmente costumo utilizar o site SQLSecurity.com para me manter atualizado sobre os últimos lançamentos de Cumulative Updates e Service Packs para o SQL Server. Neste site você vai encontrar a referência de todas as versões do SQL Server e de todas as versões de Service Packs e CUs lançados até hoje. É uma referência muito útil para quem trabalha em empresas que possuem um ambiente totalmente misto de versões do SQL Server, como é o meu caso.

Essa dica eu aprendi no site do meu amigo e mentor Alex Rosa. Nos menus ao lado direito do site, você vai encontrar uma seção chamada “Useful Links” e nela está este e outros links realmente úteis para o dia a dia do DBA.

Até Breve!
Erickson Ricci (@EricksonRicci)

Não percam a semana de webcasts sobre Certificações SQL Server 2012! Saiba das novidades e como se preprar para os exames.

Até breve!
Erickson Ricci (@EricksonRicci)

Freccia's Blog

Olá pessoal,

Aproveitando a onda do lançamento do SQL Server 2012 através de uma iniciativa com  a comunidade de SQL Server Brasil e total apoio da Viviane Ribeiro (Blog|Twitter) e Diego Nogare (Blog|Twitter) vamos realizar uma semana de webcasts falando sobre todas as certificações de SQL Server 2012. O objetivo dessa iniciativa é mostrar o mercado atual das certificações em SQL Server e é claro divulgar conceitos, dicas e materiais sobre as provas. É importante lembrar que a grande maioria dos envolvidos na apresentação dos Webcasts já passaram em muitas provas de SQL Server 2012, você então vai perder uma oportunidade dessa? Abaixo vou passar a lista de Webcasts para que todos possam se inscrever.

Ver o post original 474 mais palavras

Documentação do SQL Server 2012

Olá,

Para quem ainda não conhece, toda instalação do SQL Server oferece a possibilidade de você instalar o help do produto, que no caso do SQL Server é popularmente conhecido como Books Online, ou simplesmente BOL.

Esta opção foi retirada do SQL Server 2012, ou seja, durante a instalação é feita a configuração apenas do Help Viewer. Para atender a pedidos, a Microsoft disponibilizou o link para que o BOL do SQL Server 2012 fosse baixado e instalado na sua máquina, como em todas as versões anteriores.

Acesse este link e faça o download: BOL SQL Server 2012 Download

O BOL é uma documentação muito dinâmica. Constantemente ela pode sofrer atualização e foi pensando nisso que a Microsoft tomou esta iniciativa. Pensando em sempre manter sua documentação atualizada e evitar que você, DBA ou Dev, tenha acesso a alguma informação desatualizada. Se você preferir fazer acesso ao BOL pela internet, fica aqui o link: Books Online for SQL Server 2012

Aqui neste link você poderá obter mais informações sobre as alterações feitas pela Microsoft no BOL: Books Online News

Até Breve e Bons Estudos!

Abraços,
Erickson Ricci (@EricksonRicci)

MVA – Microsoft Virtual Academy

E você, já conhece a MVA?!

MVA é a sigla para Microsoft Virtual Academy, uma iniciativa da Microsoft (!) para oferecer capacitação técnica gratuita e de altíssima qualidade. Existem treinamentos online de diversas tecnologias e, claro, não poderiam faltar treinamentos de SQL Server.

Hoje, os treinamentos oferecidos de SQL Server são:

  • Introdução à Business Intelligence
  • Introdução ao SQL Server 2008 R2
  • Introdução ao SQL Server 2012

O conteúdo disponibilizado é totalmente gratuito e você faz o curso da melhor maneira que entender, no seu ritmo. Pergunta: “Mas já que o conteúdo é gratuito, então eu vou ver somente coisas básicas?

NÃO! De maneira nenhuma!!!

Destacando o treinamento de SQL Server 2012, recém lançado, veja o que o conteúdo aborda. Este treinamento é dividido em 3 módulos:

  1. Visão Geral do SQL Server 2012
  2. Segurança e Monitoramento no SQL Server 2012
  3. Configurando Ambientes de Missão Crítica com SQL Server 2012

Dentro destes módulos, você vai ver assuntos como:

  • Novidades para Transact-SQL
  • FileTables, Full-Text Search e Semantic Search
  • Fast Track
  • Extended Events
  • Distributed Replay
  • Always On

E de que nível estamos falando? Todo o conteúdo é nível 200! Já não podemos dizer que se trata de conteúdo básico… =)

Gostou?! Acesse já e comece o seu treinamento!

MVA – Microsoft Virtual Academy – https://www.microsoftvirtualacademy.com

Introdução à Business Intelligence – https://www.microsoftvirtualacademy.com/tracks/introducao-a-business-intelligence

Introdução ao SQL Server 2008 R2 – https://www.microsoftvirtualacademy.com/tracks/introducao-ao-sql-server-2008-r2

Introdução ao SQL Server 2012 – https://www.microsoftvirtualacademy.com/tracks/introducao-ao-sql-server-2012

Abraços e Bons Estudos!

Erickson Ricci (@EricksonRicci)