Download – Upgrade Technical Guide SQL Server 2012

Olá Pessoal,

Para quem ainda não tinha visto, a microsoft liberou o Upgrade Technical Guide para o SQL Server 2012 com 454 páginas e totalmente FREE.

Eu utilizei o Upgrade Technical Guide para o SQL Server 2008 R2 e ele me ajudou muito na identificação do que era necessário para realizar minha migração.

Seguem os capítulos:

Chapter 1: Upgrade Planning and Deployment
Chapter 2: Management Tools
Chapter 3: Relational Databases
Chapter 4: High Availability
Chapter 5: Database Security
Chapter 6: Full-Text Search
Chapter 7: Service Broker
Chapter 8: SQL Server Express
Chapter 9: SQL Server Data Tools
Chapter 10: Transact-SQL Queries
Chapter 11: Spatial Data
Chapter 12: XML and XQuery
Chapter 13: CLR
Chapter 14: SQL Server Management Objects
Chapter 15: Business Intelligence Tools
Chapter 16: Analysis Services
Chapter 17: Integration Services
Chapter 18: Reporting Services
Chapter 19: Data Mining
Chapter 20: Other Microsoft Applications and Platforms
Appendix 1: Version and Edition Upgrade Paths
Appendix 2: SQL Server 2012: Upgrade Planning Checklist

Link para Download: Upgrade Technical  Guide para o SQL Server 2012

Abraços,

Fabrício França Lima

Database Mirroring – Como alterar o Operation Mode

Fala Pessoal,

Nesse primeiro teste, realizei todas as alterações de Operations Mode possíveis em um Database Mirroring.

Os 3 operations mode possíveis são:

  • High Safety with Automatic Failover.
  • High Safety without Automatic Failover.
  • High Performance.

Para acompanhar as alterações, utilizei a query abaixo após cada alteração de status do Mirror:

SELECT db.name, mirroring_state_desc, mirroring_safety_level_desc,mirroring_witness_state_desc

FROM sys.database_mirroring m

JOIN sys.databases db ON db.database_id = m.database_id

where name = ‘Mirror1′ –Nome da database espelhada

Teste 1: High Safety with Automatic Failover  =>  High Safety without Automatic Failover

Para realizar essa alteração, o comando abaixo deve ser executado:

USE [master]

GO

ALTER DATABASE [Mirror1] SET WITNESS OFF

Conferindo com a query de acompanhamento, temos o resultado:

Safety_Level  FULL + Witness_State UNKNOWN = High Safety without Automatic Failover

Volta: High Safety without Automatic Failover => High Safety with Automatic Failover

Para identificar o servidor de Witness, deve-se executar um IPCONFIG /all e pegar as informações de HostName e Primary DNS Suffix:

  • Host Name: Ambiente5
  • Primary DNS Suffix: lab.local
  • Completando a string tempos a porta utilizada pelo Endpoint desse servidor: 5024

Para adicionar um servidor de WITNESS em um Database Mirroring, o comando abaixo deve ser executado:

USE [master]

GO

ALTER DATABASE [Mirror1] SET WITNESS = N’TCP://Ambiente5.lab.local:5024′

Resultado após a alteração:

Safety_Level  FULL + Witness_State CONNECTED = High Safety without Automatic Failover

Teste 2: High Safety with Automatic Failover => High Performance

Para realizar essa alteração, os comandos abaixo devem ser executados:

USE [master]

ALTER DATABASE [Mirror1] SET WITNESS OFF

GO

ALTER DATABASE [Mirror1] SET SAFETY OFF

Resultado após a alteração:

Safety_Level  OFF + Witness_State UNKNOWN = High Performance

Volta: High Performance =>High Safety with Automatic Failover

Para realizar essa alteração, os comandos abaixo devem ser executados:

USE [master]

GO

ALTER DATABASE [Mirror1] SET SAFETY FULL

GO

ALTER DATABASE [Mirror1] SET WITNESS = N’TCP://Ambiente5.lab.local:5024′

GO

Resultado após a alteração:

<

Safety_Level  FULL + Witness_State CONNECTED = High Safety with Automatic Failover

Teste 3 – High Safety without Automatic Failover => High Performance

Para realizar essa alteração, o comando abaixo deve ser executado:

USE [master]

GO

ALTER DATABASE [Mirror1] SET SAFETY OFF

Resultado após a alteração:

Safety_Level  OFF + Witness_State UNKNOWN = High Performance

Volta: High Performance => High Safety without Automatic Failover

Para realizar essa alteração, o comando abaixo deve ser executado:

USE [master]

GO

ALTER DATABASE [Mirror1] SET SAFETY FULL

Resultado após a alteração:

Safety_Level  FULL + Witness_State UNKNOWN = High Safety without Automatic Failover

Com esse Post já temos um resumo de como alternar entre os Operations Mode do Database Mirroring. Após alguns testes, todas essas alterações já ficam na sua cabeça.

Abraços,

Fabrício França Lima

Série de Posts sobre Database Mirroring

Olá Pessoal,

Em meu ambiente de trabalho, começamos a estudar a implementação da solução de Database Mirroring para DR e HA, pois o meu foco principal nesse momento é não ter nenhuma perda de dados e a solução de database Mirroring me garante isso.

Aí alguém pode falar assim: “Implementar um Database Mirroring não tem mistério, é só seguir um Wizard que em 2 minutos está tudo configurado! Qualquer um pode fazer!!!“.

Concordo que a configuração de um Database Mirroting é muito simples mesmo, entretanto, será que qualquer um saberia responder aos questionamentos abaixo:

  • Quais os impactos que um Database Mirroring pode causar?
  • Em que situação um Database Mirroring pode parar seu servidor de produção, mesmo não acontecendo nenhum problema com ele?
  • Como que analiso o desempenho de um Database Mirroring?
  • Quais alertas posso ter na configuração de um Database Mirroring?
  • Como altero os status de um Database Mirroring?
  • O que eu preciso fazer após um Failover de um Database Mirroting?
  • … Existem outros N questionamentos que você deve conhecer antes de implementar um database mirroring em produção.

COMO SOU UM DBA MUITO MEDROSO, antes de implementar essa solução em produção, estudei bastante sobre o Database Mirroring, motei uma VM com 3 instâncias para a realização de testes e documentei uma série de aprendizados que tive com esses testes. Com isso, resolvi postar aqui no blog os testes que fiz e algumas conclusões que eu tive.

Sei que com a chegada do SQL Server 2012, a solução de Database Mirroring será substituída na maioria dos ambientes pela solução de AlwaysOn do SQL Server 2012. Contudo, muita gente ainda utilizará o Database Mirroring por bastante tempo no ambiente de produção, assim, esses posts serão de bastante ajuda.

O objetivos desses posts não é explicar a teoria do Database Mirroring, mas sim mostrar uma série de acontecimentos que podem ocorrer durante a configuração de um Database Mirroring.

Existem uma série de posts na internet que já explicam o que é e como se configura um Database Mirroring. Segue um post completo do MCDBABrasil com um exemplo de configuração de um Database Mirroring via Wizard e via T-SQL.

Database Mirroring – Configurando Alta Disponibilidade no Banco de Dados

Nesse momento, já vou supor que você já saiba configurar um Database Mirroring e conheça seus conceitos básicos. Nos próximos posts começarei a realização de uma série de testes com as diferentes configurações que podemos ter em um Database Mirroring.

Espero que sejá útil para vocês, assim como foi muito útil para mim como forma de aprendizado.

Abraços,

Fabrício França Lima

Passei na prova 70-453! MCITP Database Administrator SQL Server 2008

20, abril, 2012 Fabricio Lima 12 comentários

Fala Pessoal,

Já existe uma galera tirando certificações Beta do SQL Server 2012 e eu ainda estava com meu MCITP do SQL Server 2005. Isso porque eu estava me aprofundando mais em assuntos que me ajudariam no meu dia a dia de trabalho, tais como: Tuning, Internals, IO, Alta Disponibilidade e etc…

Finalmente tomei vergonha e estudei para minha prova de Upgrade (70-453) e hoje (20/04) passei nessa prova com 940 pontos. =)

Dicas para a prova:
- Estudar o Training Kit da prova 70-432 já que não existe um para as provas 70-450 e 70-453.
- Após ler o Training Kit, procurar artigos e livros sobre os tópicos que você ainda não está dominando.
- Estudar bastante as novas funcionalidades do SQL Server 2008.
- Para mim, as questões mais difíceis da prova foram duas de CLR e uma de Data Collector.

Um dos problemas das provas de certificação é que não sabemos qual questão nós erramos.

Posts relacionados:

Simulado para a prova 70-432 – Parte 1

Simulado para a prova 70-432 – Parte 2

Simulado para a prova 70-432 – Parte 3

Simulado para a prova 70-432 – Parte 4

Simulado para a prova 70-432 – Parte 5

Simulado para a prova 70-432 – Parte 6

Simulado para a prova 70-432 – Parte 7

Simulado para a prova 70-432 – Parte 8

Simulado para a prova 70-432 – Parte 9

Simulado para a prova 70-432 – Parte 10

Simulado para a prova 70-432 – Parte 11

Simulado para a prova 70-432 – Parte 12

Simulado para a prova 70-432 – Parte 13

Simulado para a prova 70-432 – Parte 14 – Final

Material para as certificações MCTS e MCITP do SQL Server 2008

Abraços,

Fabrício França Lima

Simulado para a prova 70-432 – Parte 14 – Final

17, abril, 2012 Fabricio Lima 1 comentário

Fala Pessoal,

Sucesso de acessos, comentários e agradecimentos no blog, segue o último post da série de simulados com 5 questões para a prova 70-432. Obrigado pelos feedbacks e agora é com vocês.

Seguem as últimas questões:

1) Na configuração de uma solução de Log Shipping, quais são os dois modos que o servidor StandBy pode ter? (Marque todas as opções que estão corretas).

a – Standby Mode
b – No Recovery Mode
c – Mirror Mode
d – Failover Mode

2) Quais são os 5 agentes utilizados em uma replicação? (Marque todas as alternativas corretas).

a – Snapshot Agent
b – Log Reader Agent
c – Distribution Agent
d – Merge Agent
e – Queue Reader Agent
f – Subscriber Agent
g – Publisher Agent

3) Quais são os 3 tipos de conflitos que podem ocorrer em uma replicação?

a – Inserção de valores duplicados na chave primaria.
b – Conflito de Update.
c – Update em uma linha que não existe.
d – Conflito de Delete.
e – Conflito de Insert

4) Existe uma transação especial utilizada em ambientes com replicação transacional que fornece informações sobre o desempenho do tráfego dos dados na replicação. Qual o nome dessa transação?

a – Tracer Transaction
b – Monitor Transaction
c – Tracer Token
d – Validation Transaction

5) Em uma replicação do tipo Merge, quais são as duas tabelas que permitem determinar quais mudanças devem ser sincronizadas entre o publisher e o subscriber? (Escolha duas opções).

a – MSmerge_contents
b – MSmerge_conflicts
c – MSmerge_genhistory
d – MSmerge_sincronize

Posts relacionados:

Simulado para a prova 70-432 – Parte 1

Simulado para a prova 70-432 – Parte 2

Simulado para a prova 70-432 – Parte 3

Simulado para a prova 70-432 – Parte 4

Simulado para a prova 70-432 – Parte 5

Simulado para a prova 70-432 – Parte 6

Simulado para a prova 70-432 – Parte 7

Simulado para a prova 70-432 – Parte 8

Simulado para a prova 70-432 – Parte 9

Simulado para a prova 70-432 – Parte 10

Simulado para a prova 70-432 – Parte 11

Simulado para a prova 70-432 – Parte 12

Simulado para a prova 70-432 – Parte 13

Material para as certificações MCTS e MCITP do SQL Server 2008

Em até 3 dias úteis postarei as respostas nos comentários desse post. Também avisarei via Twitter (@Fabriciodba).

Abraços,

Fabrício França Lima