Simulando – Desastre e Recuperação de Bancos de Dados – Microsoft SQL Server 2008 R2 e 2012 – Parte III.

Galera, bom dia.

Tudo bem?

Como prometido estou retornando com mais um post da série referente a Simulação de Desastre e Recuperação de Banco de Dados no Microsoft SQL Server 2008, R2 e 2012.

Neste post, vou destacar o uso do aplicativo Hex Editor Neo, utilizado especificamente para realizar o acesso, interpretação e leitura dos Arquivos de Dados que constitui qualquer de Banco de Dados no Microsoft SQL Server. Para saber mais sobre este editor acesse: http://www.hhdsoftware.com/

Você vai aprender e entender como podemos realizar manualmente a quebra de um banco de dados através da alteração da estrutura física e lógica da área alocação de dados no nível mais baixo,  chamada página de dados.

Figura1

Figura 1 – Estrutura do Banco de Dados MyDatabaseDesastre.

 

Ao criarmos uma tabela no Microsoft SQL Server, este objeto é alocado fisicamente em uma área de armazenamento chamada Partition (Partição, conceito que eu apresentei na primeira parte desta séria), organizado de forma lógica por pequenas unidades de armazenamento conhecidas como Allocation_Units.

 

Através das informações que podemos coletar com base na partição que o objeto esta vinculado, podemos encontrar as unidades de alocação em conseqüência identificar a primeira página de dados que este objeto está fisicamente ligado com a estrutura de armazenamento do banco de dados.

 

Para começarmos, vamos utilizar o Código 1 apresentado a seguir:

 

— Código 1 – Identificando as Partitions e Allocation_Units da Tabela Clientes –

 

SELECT P.partition_id,

 

OBJECT_NAME(P.object_id) As ObjectName,

 

U.allocation_unit_id,

 

SU.First_Page,

 

SU.Root_Page,

 

SU.First_IAM_Page

 

From Sys.Partitions As P INNER JOIN Sys.Allocation_Units As U

 

ON P.hobt_id = U.container_id

 

Inner Join Sys.system_internals_allocation_units SU

 

On u.allocation_unit_id = su.allocation_unit_id

 

Where  OBJECT_NAME(P.object_id)  = ‘Clientes’

 

 

 

Ao analisarmos este código, podemos notar que estamos fazendo uma junção entre as System Tables:

 

  • Sys.Partitions: Apresenta a relação de Partições existentes no Banco de Dados conectado.

 

 

 

  • Sys.Allocation_Units: Apresenta a relação de unidades de alocação existente no Banco de Dados conectado.

 

 

 

  • Sys.System_Internals_Allocation_Units: Apresenta a relação de unidades de alocação internas e de sistema existente no Banco de Dados conectado.

 

Dentre o conjunto de colunas retornadas pelo Código 1, devemos nos atentar para a coluna First_Page, é através do valor retornado por esta coluna que podemos identificar o número da página de dados em formato Hexadecimal, no meu exemplo o valor que obtive de retorno foi: 0x990000000100, conforme apresenta a Figura 2.

Figura2

 

Figura 2 – Retorno de dados após a execução do Código 1.

Outra possibilidade para identificar a página de dados de uma tabela é identificar os índices existentes para esta tabela, utilizando a System Table Sys.SysIndexes através da coluna First, conforme apresenta o Código 2 apresentada abaixo:

— Código 2 – Identificando a Página de Dados da Tabela Clientes com base em seus Índices –

SELECT First As ‘Área de Alocação’ FROM sys.sysindexes

Where Id = OBJECT_ID(‘Clientes’)

Podemos observar que teremos o mesmo valor 0x990000000100 retornado para a coluna First após executar o Código 2. Muito bem, já sabemos que o valor referente a página de dados da tabela Clientes é: 0x990000000100.

Acredito que alguns questionamentos após encontrarmos esta informação podem estar surgindo na sua cabeça, como por exemplo:

  1. 1.      O formato do número apresenta algum tipo de significado?

Sim, por padrão o valor retornado em hexadecimal apresenta alguns significados com base em seu conjunto de elementos, onde: 0x990000000100

  • Os quatro primeiros dígitos do valor indicam o número hexadecimal que representa a página de dados, neste caso: 0x99

 

  • Os últimos quatros dígitos identificam o número e arquivo de dados que compõem o banco, neste caso: 0100.

 

  • Os outros dígitos representam áreas de alocação internas utilizadas pelo Banco de Dados para armazenar os dados para esta tabela.

 

  1. 2.      Este valor realmente representa o número da primeira página de dados que a tabela clientes esta vinculada?

 

Na verdade para identificar qual realmente é o número de página de dados que a tabela esta vinculada devemos pegar os quatro primeiros dígitos e converter para um valor Inteiro.

 

O Código 3 apresenta como podemos converter o valor 0x990000000100, para um valor inteiro que representará o valor real da página de dados:

 

— Código 3 – Convertendo o valor Hexadecimal para encontrar a Página de Dados —

Declare @NumPagina Varbinary

 

SELECT @NumPagina=First  FROM Sys.Sysindexes

Where Id = OBJECT_ID(Clientes)

 

Select CONVERT(Int,@NumPagina)

Para o meu exemplo o valor retornado foi 153, sendo assim, o número da página de dados que a table clientes esta vinculada é 153.

 

  1. 3.      Existe algum comando especifico para trabalharmos com página de dados no Microsoft SQL Server?

 

Através do comando DBCC Page encontramos informações sobre ás páginas de dados, sendo este, comando DBCC não documento no Books On-Line.

 

  1. 4.      De que maneira os dados ficam armazenados em uma página de dados?

 

A partir do momento em que os dados são armazenados, os mesmos são distribuídos de forma seqüencial e organizada entre os conjuntos de OffSet existentes em cada página que esta armazenada fisicamente no arquivo de dados, neste caso, no arquivo .MDF. Utilizando o comando DBCC destacado anteriormente, teremos a possibilidade de visualizar os dados.

 

Legal, nosso próximo passo é chegarmos fisicamente até os dados que estão armazenados na página de dados 153, para isso vamos então utilizar o comando DBCC Page que poderá nos retornar os valores.

Por padrão o retorno apresentado por comandos DBCCs não é apresentado no SQL Server, sendo assim, temos que ativar a Trace Flag 3604 responsável em apresentar o retorno de dados para os comandos DBCC, conforme apresenta o Código 4:

— Código 4 – Ativando a Trace Flag 3604 para exibir o resultado do DBCC Page —
DBCC TRACEON(3604)

 

O próximo passo consiste em utilizar o comando DBCC Page para encontrarmos o conjunto de informações da nossa página, conforme apresenta o Código 5.

 

 

— Código 5 – Utilizando o DBCC Page + Número da Página de Dados —

DBCC PAGE (MyDatabaseDesastre, 1, 153, 2)

 

Basicamente este comando, será composto por quatro parâmetros, sendo eles:

  • Nome do Banco de Dados;
  • Número que identifica o arquivo de dados;
  • Número da página de dados;
  • Parâmetro para identificar o formato de retorno dos dados, sendo eles:

 

  • 0 – Exibir o Page Header da página de dados;
  • 1 – Exibir o Page Header com mais detalhes por linha com dumps hexadecimais e array de páginas;
  • 2 – Exibir o Page Header detalhado com todo dump em formato hexadecimal; e
  • 3 – Exibir o Page header mais detalhado para cada linha interpretada.

 

Note que após executar o Código 5, teremos o seguinte Memory Dump: @0x52AAC000

 

 

Memory Dump @0x52AAC000

 

52AAC000:   01010400 00820001 00000000 00000800 †…..‚……….

52AAC010:   00000000 00000d00 1b000000 bb1c6b03 †…………».k.

52AAC020:   99000000 01000000 55000000 10020000 †……..U…….

52AAC030:   01000000 89020000 00000000 aa7fb7d3 †….‰…….ª.·Ó

52AAC040:   00000000 00000000 00000000 00000000 †…………….

52AAC050:   00000000 00000000 00000000 00000000 †…………….

52AAC060:   3c000800 7d000000 03000002 001c0040 †<…}……….@

52AAC070:   00436c69 656e7465 20313235 436c6965 †.Cliente 125Clie

52AAC080:   6e746531 3235406d 79646174 61626173 †nte125@mydatabas

52AAC090:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAC0A0:   30000800 b3dc0000 03000002 00160037 †0…³Ü………7

52AAC0B0:   00506564 726f5065 64726f47 616c7661 †.PedroPedroGalva

52AAC0C0:   6f404669 742d5465 636e6f6c 6f676961 †o@Fit-Tecnologia

52AAC0D0:   2e6f7267 2e627230 000800b4 dc000003 †.org.br0…´Ü…

52AAC0E0:   00000200 16003700 50656472 6f506564 †……7.PedroPed

52AAC0F0:   726f4761 6c76616f 40466974 2d546563 †roGalvao@Fit-Tec

52AAC100:   6e6f6c6f 6769612e 6f72672e 62723000 †nologia.org.br0.

52AAC110:   0800b5dc 00000300 00020016 00370050 †..µÜ………7.P

52AAC120:   6564726f 50656472 6f47616c 76616f40 †edroPedroGalvao@

52AAC130:   4669742d 5465636e 6f6c6f67 69612e6f †Fit-Tecnologia.o

52AAC140:   72672e62 72300008 00b6dc00 00030000 †rg.br0…¶Ü…..

52AAC150:   02001600 37005065 64726f50 6564726f †….7.PedroPedro

52AAC160:   47616c76 616f4046 69742d54 65636e6f †Galvao@Fit-Tecno

52AAC170:   6c6f6769 612e6f72 672e6272 30000800 †logia.org.br0…

52AAC180:   b7dc0000 03000002 00160037 00506564 †·Ü………7.Ped

52AAC190:   726f5065 64726f47 616c7661 6f404669 †roPedroGalvao@Fi

52AAC1A0:   742d5465 636e6f6c 6f676961 2e6f7267 †t-Tecnologia.org

52AAC1B0:   2e627230 000800b8 dc000003 00000200 †.br0…¸Ü…….

52AAC1C0:   16003700 50656472 6f506564 726f4761 †..7.PedroPedroGa

52AAC1D0:   6c76616f 40466974 2d546563 6e6f6c6f †lvao@Fit-Tecnolo

52AAC1E0:   6769612e 6f72672e 62723000 0800b9dc †gia.org.br0…¹Ü

52AAC1F0:   00000300 00020016 00370050 6564726f †………7.Pedro

52AAC200:   50656472 6f47616c 76616f40 4669742d †PedroGalvao@Fit-

52AAC210:   5465636e 6f6c6f67 69612e6f 72672e62 †Tecnologia.org.b

52AAC220:   72300008 00badc00 00030000 02001600 †r0…ºÜ………

52AAC230:   37005065 64726f50 6564726f 47616c76 †7.PedroPedroGalv

52AAC240:   616f4046 69742d54 65636e6f 6c6f6769 †ao@Fit-Tecnologi

52AAC250:   612e6f72 672e6272 30000800 bbdc0000 †a.org.br0…»Ü..

52AAC260:   03000002 00160037 00506564 726f5065 †…….7.PedroPe

52AAC270:   64726f47 616c7661 6f404669 742d5465 †droGalvao@Fit-Te

52AAC280:   636e6f6c 6f676961 2e6f7267 2e627230 †cnologia.org.br0

52AAC290:   000800bc dc000003 00000200 16003700 †…¼Ü………7.

52AAC2A0:   50656472 6f506564 726f4761 6c76616f †PedroPedroGalvao

52AAC2B0:   40466974 2d546563 6e6f6c6f 6769612e †@Fit-Tecnologia.

52AAC2C0:   6f72672e 62723000 0800bddc 00000300 †org.br0…½Ü….

52AAC2D0:   00020016 00370050 6564726f 50656472 †…..7.PedroPedr

52AAC2E0:   6f47616c 76616f40 4669742d 5465636e †oGalvao@Fit-Tecn

52AAC2F0:   6f6c6f67 69612e6f 72672e62 72300008 †ologia.org.br0..

52AAC300:   00bedc00 00030000 02001600 37005065 †.¾Ü………7.Pe

52AAC310:   64726f50 6564726f 47616c76 616f4046 †droPedroGalvao@F

52AAC320:   69742d54 65636e6f 6c6f6769 612e6f72 †it-Tecnologia.or

52AAC330:   672e6272 30000800 bfdc0000 03000002 †g.br0…¿Ü……

52AAC340:   00160037 00506564 726f5065 64726f47 †…7.PedroPedroG

52AAC350:   616c7661 6f404669 742d5465 636e6f6c †alvao@Fit-Tecnol

52AAC360:   6f676961 2e6f7267 2e627200 002e6564 †ogia.org.br…ed

52AAC370:   752e6272 3c000800 0e000000 03000002 †u.br<………..

52AAC380:   001b003e 00436c69 656e7465 20313443 †…>.Cliente 14C

52AAC390:   6c69656e 74653134 406d7964 61746162 †liente14@mydatab

52AAC3A0:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAC3B0:   62723c00 08000f00 00000300 0002001b †br<………….

52AAC3C0:   003e0043 6c69656e 74652031 35436c69 †.>.Cliente 15Cli

52AAC3D0:   656e7465 3135406d 79646174 61626173 †ente15@mydatabas

52AAC3E0:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAC3F0:   3c000800 10000000 03000002 001b003e †<…………..>

52AAC400:   00436c69 656e7465 20313643 6c69656e †.Cliente 16Clien

52AAC410:   74653136 406d7964 61746162 61736564 †te16@mydatabased

52AAC420:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAC430:   08001100 00000300 0002001b 003e0043 †………….>.C

52AAC440:   6c69656e 74652031 37436c69 656e7465 †liente 17Cliente

52AAC450:   3137406d 79646174 61626173 65646573 †17@mydatabasedes

52AAC460:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAC470:   12000000 03000002 001b003e 00436c69 †………..>.Cli

52AAC480:   656e7465 20313843 6c69656e 74653138 †ente 18Cliente18

52AAC490:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAC4A0:   7472652e 6564752e 62723c00 08001300 †tre.edu.br<…..

52AAC4B0:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAC4C0:   74652031 39436c69 656e7465 3139406d †te 19Cliente19@m

52AAC4D0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAC4E0:   652e6564 752e6272 3c000800 14000000 †e.edu.br<…….

52AAC4F0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAC500:   20323043 6c69656e 74653230 406d7964 † 20Cliente20@myd

52AAC510:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAC520:   6564752e 62723c00 08001500 00000300 †edu.br<………

52AAC530:   0002001b 003e0043 6c69656e 74652032 †…..>.Cliente 2

52AAC540:   31436c69 656e7465 3231406d 79646174 †1Cliente21@mydat

52AAC550:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAC560:   752e6272 3c000800 16000000 03000002 †u.br<………..

52AAC570:   001b003e 00436c69 656e7465 20323243 †…>.Cliente 22C

52AAC580:   6c69656e 74653232 406d7964 61746162 †liente22@mydatab

52AAC590:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAC5A0:   62723c00 08001700 00000300 0002001b †br<………….

52AAC5B0:   003e0043 6c69656e 74652032 33436c69 †.>.Cliente 23Cli

52AAC5C0:   656e7465 3233406d 79646174 61626173 †ente23@mydatabas

52AAC5D0:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAC5E0:   3c000800 18000000 03000002 001b003e †<…………..>

52AAC5F0:   00436c69 656e7465 20323443 6c69656e †.Cliente 24Clien

52AAC600:   74653234 406d7964 61746162 61736564 †te24@mydatabased

52AAC610:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAC620:   08001900 00000300 0002001b 003e0043 †………….>.C

52AAC630:   6c69656e 74652032 35436c69 656e7465 †liente 25Cliente

52AAC640:   3235406d 79646174 61626173 65646573 †25@mydatabasedes

52AAC650:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAC660:   1a000000 03000002 001b003e 00436c69 †………..>.Cli

52AAC670:   656e7465 20323643 6c69656e 74653236 †ente 26Cliente26

52AAC680:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAC690:   7472652e 6564752e 62723c00 08001b00 †tre.edu.br<…..

52AAC6A0:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAC6B0:   74652032 37436c69 656e7465 3237406d †te 27Cliente27@m

52AAC6C0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAC6D0:   652e6564 752e6272 3c000800 1c000000 †e.edu.br<…….

52AAC6E0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAC6F0:   20323843 6c69656e 74653238 406d7964 † 28Cliente28@myd

52AAC700:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAC710:   6564752e 62723c00 08001d00 00000300 †edu.br<………

52AAC720:   0002001b 003e0043 6c69656e 74652032 †…..>.Cliente 2

52AAC730:   39436c69 656e7465 3239406d 79646174 †9Cliente29@mydat

52AAC740:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAC750:   752e6272 3c000800 1e000000 03000002 †u.br<………..

52AAC760:   001b003e 00436c69 656e7465 20333043 †…>.Cliente 30C

52AAC770:   6c69656e 74653330 406d7964 61746162 †liente30@mydatab

52AAC780:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAC790:   62723c00 08001f00 00000300 0002001b †br<………….

52AAC7A0:   003e0043 6c69656e 74652033 31436c69 †.>.Cliente 31Cli

52AAC7B0:   656e7465 3331406d 79646174 61626173 †ente31@mydatabas

52AAC7C0:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAC7D0:   3c000800 20000000 03000002 001b003e †<… ……….>

52AAC7E0:   00436c69 656e7465 20333243 6c69656e †.Cliente 32Clien

52AAC7F0:   74653332 406d7964 61746162 61736564 †te32@mydatabased

52AAC800:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAC810:   08002100 00000300 0002001b 003e0043 †..!……….>.C

52AAC820:   6c69656e 74652033 33436c69 656e7465 †liente 33Cliente

52AAC830:   3333406d 79646174 61626173 65646573 †33@mydatabasedes

52AAC840:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAC850:   22000000 03000002 001b003e 00436c69 †”……….>.Cli

52AAC860:   656e7465 20333443 6c69656e 74653334 †ente 34Cliente34

52AAC870:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAC880:   7472652e 6564752e 62723c00 08002300 †tre.edu.br<…#.

52AAC890:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAC8A0:   74652033 35436c69 656e7465 3335406d †te 35Cliente35@m

52AAC8B0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAC8C0:   652e6564 752e6272 3c000800 24000000 †e.edu.br<…$…

52AAC8D0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAC8E0:   20333643 6c69656e 74653336 406d7964 † 36Cliente36@myd

52AAC8F0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAC900:   6564752e 62723c00 08002500 00000300 †edu.br<…%…..

52AAC910:   0002001b 003e0043 6c69656e 74652033 †…..>.Cliente 3

52AAC920:   37436c69 656e7465 3337406d 79646174 †7Cliente37@mydat

52AAC930:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAC940:   752e6272 3c000800 26000000 03000002 †u.br<…&…….

52AAC950:   001b003e 00436c69 656e7465 20333843 †…>.Cliente 38C

52AAC960:   6c69656e 74653338 406d7964 61746162 †liente38@mydatab

52AAC970:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAC980:   62723c00 08002700 00000300 0002001b †br<…’………

52AAC990:   003e0043 6c69656e 74652033 39436c69 †.>.Cliente 39Cli

52AAC9A0:   656e7465 3339406d 79646174 61626173 †ente39@mydatabas

52AAC9B0:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAC9C0:   3c000800 28000000 03000002 001b003e †<…(……….>

52AAC9D0:   00436c69 656e7465 20343043 6c69656e †.Cliente 40Clien

52AAC9E0:   74653430 406d7964 61746162 61736564 †te40@mydatabased

52AAC9F0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AACA00:   08002900 00000300 0002001b 003e0043 †..)……….>.C

52AACA10:   6c69656e 74652034 31436c69 656e7465 †liente 41Cliente

52AACA20:   3431406d 79646174 61626173 65646573 †41@mydatabasedes

52AACA30:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AACA40:   2a000000 03000002 001b003e 00436c69 †*……….>.Cli

52AACA50:   656e7465 20343243 6c69656e 74653432 †ente 42Cliente42

52AACA60:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AACA70:   7472652e 6564752e 62723c00 08002b00 †tre.edu.br<…+.

52AACA80:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AACA90:   74652034 33436c69 656e7465 3433406d †te 43Cliente43@m

52AACAA0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AACAB0:   652e6564 752e6272 3c000800 2c000000 †e.edu.br<…,…

52AACAC0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AACAD0:   20343443 6c69656e 74653434 406d7964 † 44Cliente44@myd

52AACAE0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AACAF0:   6564752e 62723c00 08002d00 00000300 †edu.br<…-…..

52AACB00:   0002001b 003e0043 6c69656e 74652034 †…..>.Cliente 4

52AACB10:   35436c69 656e7465 3435406d 79646174 †5Cliente45@mydat

52AACB20:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AACB30:   752e6272 3c000800 2e000000 03000002 †u.br<………..

52AACB40:   001b003e 00436c69 656e7465 20343643 †…>.Cliente 46C

52AACB50:   6c69656e 74653436 406d7964 61746162 †liente46@mydatab

52AACB60:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AACB70:   62723c00 08002f00 00000300 0002001b †br<…/………

52AACB80:   003e0043 6c69656e 74652034 37436c69 †.>.Cliente 47Cli

52AACB90:   656e7465 3437406d 79646174 61626173 †ente47@mydatabas

52AACBA0:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AACBB0:   3c000800 30000000 03000002 001b003e †<…0……….>

52AACBC0:   00436c69 656e7465 20343843 6c69656e †.Cliente 48Clien

52AACBD0:   74653438 406d7964 61746162 61736564 †te48@mydatabased

52AACBE0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AACBF0:   08003100 00000300 0002001b 003e0043 †..1……….>.C

52AACC00:   6c69656e 74652034 39436c69 656e7465 †liente 49Cliente

52AACC10:   3439406d 79646174 61626173 65646573 †49@mydatabasedes

52AACC20:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AACC30:   32000000 03000002 001b003e 00436c69 †2……….>.Cli

52AACC40:   656e7465 20353043 6c69656e 74653530 †ente 50Cliente50

52AACC50:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AACC60:   7472652e 6564752e 62723c00 08003300 †tre.edu.br<…3.

52AACC70:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AACC80:   74652035 31436c69 656e7465 3531406d †te 51Cliente51@m

52AACC90:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AACCA0:   652e6564 752e6272 3c000800 34000000 †e.edu.br<…4…

52AACCB0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AACCC0:   20353243 6c69656e 74653532 406d7964 † 52Cliente52@myd

52AACCD0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AACCE0:   6564752e 62723c00 08003500 00000300 †edu.br<…5…..

52AACCF0:   0002001b 003e0043 6c69656e 74652035 †…..>.Cliente 5

52AACD00:   33436c69 656e7465 3533406d 79646174 †3Cliente53@mydat

52AACD10:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AACD20:   752e6272 3c000800 36000000 03000002 †u.br<…6…….

52AACD30:   001b003e 00436c69 656e7465 20353443 †…>.Cliente 54C

52AACD40:   6c69656e 74653534 406d7964 61746162 †liente54@mydatab

52AACD50:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AACD60:   62723c00 08003700 00000300 0002001b †br<…7………

52AACD70:   003e0043 6c69656e 74652035 35436c69 †.>.Cliente 55Cli

52AACD80:   656e7465 3535406d 79646174 61626173 †ente55@mydatabas

52AACD90:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AACDA0:   3c000800 38000000 03000002 001b003e †<…8……….>

52AACDB0:   00436c69 656e7465 20353643 6c69656e †.Cliente 56Clien

52AACDC0:   74653536 406d7964 61746162 61736564 †te56@mydatabased

52AACDD0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AACDE0:   08003900 00000300 0002001b 003e0043 †..9……….>.C

52AACDF0:   6c69656e 74652035 37436c69 656e7465 †liente 57Cliente

52AACE00:   3537406d 79646174 61626173 65646573 †57@mydatabasedes

52AACE10:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AACE20:   3a000000 03000002 001b003e 00436c69 †:……….>.Cli

52AACE30:   656e7465 20353843 6c69656e 74653538 †ente 58Cliente58

52AACE40:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AACE50:   7472652e 6564752e 62723c00 08003b00 †tre.edu.br<…;.

52AACE60:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AACE70:   74652035 39436c69 656e7465 3539406d †te 59Cliente59@m

52AACE80:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AACE90:   652e6564 752e6272 3c000800 3c000000 †e.edu.br<…<…

52AACEA0:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AACEB0:   20363043 6c69656e 74653630 406d7964 † 60Cliente60@myd

52AACEC0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AACED0:   6564752e 62723c00 08003d00 00000300 †edu.br<…=…..

52AACEE0:   0002001b 003e0043 6c69656e 74652036 †…..>.Cliente 6

52AACEF0:   31436c69 656e7465 3631406d 79646174 †1Cliente61@mydat

52AACF00:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AACF10:   752e6272 3c000800 3e000000 03000002 †u.br<…>…….

52AACF20:   001b003e 00436c69 656e7465 20363243 †…>.Cliente 62C

52AACF30:   6c69656e 74653632 406d7964 61746162 †liente62@mydatab

52AACF40:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AACF50:   62723c00 08003f00 00000300 0002001b †br<…?………

52AACF60:   003e0043 6c69656e 74652036 33436c69 †.>.Cliente 63Cli

52AACF70:   656e7465 3633406d 79646174 61626173 †ente63@mydatabas

52AACF80:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AACF90:   3c000800 40000000 03000002 001b003e †<…@……….>

52AACFA0:   00436c69 656e7465 20363443 6c69656e †.Cliente 64Clien

52AACFB0:   74653634 406d7964 61746162 61736564 †te64@mydatabased

52AACFC0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AACFD0:   08004100 00000300 0002001b 003e0043 †..A……….>.C

52AACFE0:   6c69656e 74652036 35436c69 656e7465 †liente 65Cliente

52AACFF0:   3635406d 79646174 61626173 65646573 †65@mydatabasedes

52AAD000:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAD010:   42000000 03000002 001b003e 00436c69 †B……….>.Cli

52AAD020:   656e7465 20363643 6c69656e 74653636 †ente 66Cliente66

52AAD030:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAD040:   7472652e 6564752e 62723c00 08004300 †tre.edu.br<…C.

52AAD050:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAD060:   74652036 37436c69 656e7465 3637406d †te 67Cliente67@m

52AAD070:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD080:   652e6564 752e6272 3c000800 44000000 †e.edu.br<…D…

52AAD090:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAD0A0:   20363843 6c69656e 74653638 406d7964 † 68Cliente68@myd

52AAD0B0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAD0C0:   6564752e 62723c00 08004500 00000300 †edu.br<…E…..

52AAD0D0:   0002001b 003e0043 6c69656e 74652036 †…..>.Cliente 6

52AAD0E0:   39436c69 656e7465 3639406d 79646174 †9Cliente69@mydat

52AAD0F0:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAD100:   752e6272 3c000800 46000000 03000002 †u.br<…F…….

52AAD110:   001b003e 00436c69 656e7465 20373043 †…>.Cliente 70C

52AAD120:   6c69656e 74653730 406d7964 61746162 †liente70@mydatab

52AAD130:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAD140:   62723c00 08004700 00000300 0002001b †br<…G………

52AAD150:   003e0043 6c69656e 74652037 31436c69 †.>.Cliente 71Cli

52AAD160:   656e7465 3731406d 79646174 61626173 †ente71@mydatabas

52AAD170:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAD180:   3c000800 48000000 03000002 001b003e †<…H……….>

52AAD190:   00436c69 656e7465 20373243 6c69656e †.Cliente 72Clien

52AAD1A0:   74653732 406d7964 61746162 61736564 †te72@mydatabased

52AAD1B0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAD1C0:   08004900 00000300 0002001b 003e0043 †..I……….>.C

52AAD1D0:   6c69656e 74652037 33436c69 656e7465 †liente 73Cliente

52AAD1E0:   3733406d 79646174 61626173 65646573 †73@mydatabasedes

52AAD1F0:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAD200:   4a000000 03000002 001b003e 00436c69 †J……….>.Cli

52AAD210:   656e7465 20373443 6c69656e 74653734 †ente 74Cliente74

52AAD220:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAD230:   7472652e 6564752e 62723c00 08004b00 †tre.edu.br<…K.

52AAD240:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAD250:   74652037 35436c69 656e7465 3735406d †te 75Cliente75@m

52AAD260:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD270:   652e6564 752e6272 3c000800 4c000000 †e.edu.br<…L…

52AAD280:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAD290:   20373643 6c69656e 74653736 406d7964 † 76Cliente76@myd

52AAD2A0:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAD2B0:   6564752e 62723c00 08004d00 00000300 †edu.br<…M…..

52AAD2C0:   0002001b 003e0043 6c69656e 74652037 †…..>.Cliente 7

52AAD2D0:   37436c69 656e7465 3737406d 79646174 †7Cliente77@mydat

52AAD2E0:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAD2F0:   752e6272 3c000800 4e000000 03000002 †u.br<…N…….

52AAD300:   001b003e 00436c69 656e7465 20373843 †…>.Cliente 78C

52AAD310:   6c69656e 74653738 406d7964 61746162 †liente78@mydatab

52AAD320:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAD330:   62723c00 08004f00 00000300 0002001b †br<…O………

52AAD340:   003e0043 6c69656e 74652037 39436c69 †.>.Cliente 79Cli

52AAD350:   656e7465 3739406d 79646174 61626173 †ente79@mydatabas

52AAD360:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAD370:   3c000800 50000000 03000002 001b003e †<…P……….>

52AAD380:   00436c69 656e7465 20383043 6c69656e †.Cliente 80Clien

52AAD390:   74653830 406d7964 61746162 61736564 †te80@mydatabased

52AAD3A0:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAD3B0:   08005100 00000300 0002001b 003e0043 †..Q……….>.C

52AAD3C0:   6c69656e 74652038 31436c69 656e7465 †liente 81Cliente

52AAD3D0:   3831406d 79646174 61626173 65646573 †81@mydatabasedes

52AAD3E0:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAD3F0:   52000000 03000002 001b003e 00436c69 †R……….>.Cli

52AAD400:   656e7465 20383243 6c69656e 74653832 †ente 82Cliente82

52AAD410:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAD420:   7472652e 6564752e 62723c00 08005300 †tre.edu.br<…S.

52AAD430:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAD440:   74652038 33436c69 656e7465 3833406d †te 83Cliente83@m

52AAD450:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD460:   652e6564 752e6272 3c000800 54000000 †e.edu.br<…T…

52AAD470:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAD480:   20383443 6c69656e 74653834 406d7964 † 84Cliente84@myd

52AAD490:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAD4A0:   6564752e 62723c00 08005500 00000300 †edu.br<…U…..

52AAD4B0:   0002001b 003e0043 6c69656e 74652038 †…..>.Cliente 8

52AAD4C0:   35436c69 656e7465 3835406d 79646174 †5Cliente85@mydat

52AAD4D0:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAD4E0:   752e6272 3c000800 56000000 03000002 †u.br<…V…….

52AAD4F0:   001b003e 00436c69 656e7465 20383643 †…>.Cliente 86C

52AAD500:   6c69656e 74653836 406d7964 61746162 †liente86@mydatab

52AAD510:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAD520:   62723c00 08005700 00000300 0002001b †br<…W………

52AAD530:   003e0043 6c69656e 74652038 37436c69 †.>.Cliente 87Cli

52AAD540:   656e7465 3837406d 79646174 61626173 †ente87@mydatabas

52AAD550:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAD560:   3c000800 58000000 03000002 001b003e †<…X……….>

52AAD570:   00436c69 656e7465 20383843 6c69656e †.Cliente 88Clien

52AAD580:   74653838 406d7964 61746162 61736564 †te88@mydatabased

52AAD590:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAD5A0:   08005900 00000300 0002001b 003e0043 †..Y……….>.C

52AAD5B0:   6c69656e 74652038 39436c69 656e7465 †liente 89Cliente

52AAD5C0:   3839406d 79646174 61626173 65646573 †89@mydatabasedes

52AAD5D0:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAD5E0:   5a000000 03000002 001b003e 00436c69 †Z……….>.Cli

52AAD5F0:   656e7465 20393043 6c69656e 74653930 †ente 90Cliente90

52AAD600:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAD610:   7472652e 6564752e 62723c00 08005b00 †tre.edu.br<…[.

52AAD620:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAD630:   74652039 31436c69 656e7465 3931406d †te 91Cliente91@m

52AAD640:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD650:   652e6564 752e6272 3c000800 5c000000 †e.edu.br<…\…

52AAD660:   03000002 001b003e 00436c69 656e7465 †…….>.Cliente

52AAD670:   20393243 6c69656e 74653932 406d7964 † 92Cliente92@myd

52AAD680:   61746162 61736564 65736173 7472652e †atabasedesastre.

52AAD690:   6564752e 62723c00 08005d00 00000300 †edu.br<…]…..

52AAD6A0:   0002001b 003e0043 6c69656e 74652039 †…..>.Cliente 9

52AAD6B0:   33436c69 656e7465 3933406d 79646174 †3Cliente93@mydat

52AAD6C0:   61626173 65646573 61737472 652e6564 †abasedesastre.ed

52AAD6D0:   752e6272 3c000800 5e000000 03000002 †u.br<…^…….

52AAD6E0:   001b003e 00436c69 656e7465 20393443 †…>.Cliente 94C

52AAD6F0:   6c69656e 74653934 406d7964 61746162 †liente94@mydatab

52AAD700:   61736564 65736173 7472652e 6564752e †asedesastre.edu.

52AAD710:   62723c00 08005f00 00000300 0002001b †br<…_………

52AAD720:   003e0043 6c69656e 74652039 35436c69 †.>.Cliente 95Cli

52AAD730:   656e7465 3935406d 79646174 61626173 †ente95@mydatabas

52AAD740:   65646573 61737472 652e6564 752e6272 †edesastre.edu.br

52AAD750:   3c000800 60000000 03000002 001b003e †<…`……….>

52AAD760:   00436c69 656e7465 20393643 6c69656e †.Cliente 96Clien

52AAD770:   74653936 406d7964 61746162 61736564 †te96@mydatabased

52AAD780:   65736173 7472652e 6564752e 62723c00 †esastre.edu.br<.

52AAD790:   08006100 00000300 0002001b 003e0043 †..a……….>.C

52AAD7A0:   6c69656e 74652039 37436c69 656e7465 †liente 97Cliente

52AAD7B0:   3937406d 79646174 61626173 65646573 †97@mydatabasedes

52AAD7C0:   61737472 652e6564 752e6272 3c000800 †astre.edu.br<…

52AAD7D0:   62000000 03000002 001b003e 00436c69 †b……….>.Cli

52AAD7E0:   656e7465 20393843 6c69656e 74653938 †ente 98Cliente98

52AAD7F0:   406d7964 61746162 61736564 65736173 †@mydatabasedesas

52AAD800:   7472652e 6564752e 62723c00 08006300 †tre.edu.br<…c.

52AAD810:   00000300 0002001b 003e0043 6c69656e †………>.Clien

52AAD820:   74652039 39436c69 656e7465 3939406d †te 99Cliente99@m

52AAD830:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD840:   652e6564 752e6272 3c000800 64000000 †e.edu.br<…d…

52AAD850:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD860:   20313030 436c6965 6e746531 3030406d † 100Cliente100@m

52AAD870:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD880:   652e6564 752e6272 3c000800 65000000 †e.edu.br<…e…

52AAD890:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD8A0:   20313031 436c6965 6e746531 3031406d † 101Cliente101@m

52AAD8B0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD8C0:   652e6564 752e6272 3c000800 66000000 †e.edu.br<…f…

52AAD8D0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD8E0:   20313032 436c6965 6e746531 3032406d † 102Cliente102@m

52AAD8F0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD900:   652e6564 752e6272 3c000800 67000000 †e.edu.br<…g…

52AAD910:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD920:   20313033 436c6965 6e746531 3033406d † 103Cliente103@m

52AAD930:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD940:   652e6564 752e6272 3c000800 68000000 †e.edu.br<…h…

52AAD950:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD960:   20313034 436c6965 6e746531 3034406d † 104Cliente104@m

52AAD970:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD980:   652e6564 752e6272 3c000800 69000000 †e.edu.br<…i…

52AAD990:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD9A0:   20313035 436c6965 6e746531 3035406d † 105Cliente105@m

52AAD9B0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AAD9C0:   652e6564 752e6272 3c000800 6a000000 †e.edu.br<…j…

52AAD9D0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AAD9E0:   20313036 436c6965 6e746531 3036406d † 106Cliente106@m

52AAD9F0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADA00:   652e6564 752e6272 3c000800 6b000000 †e.edu.br<…k…

52AADA10:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADA20:   20313037 436c6965 6e746531 3037406d † 107Cliente107@m

52AADA30:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADA40:   652e6564 752e6272 3c000800 6c000000 †e.edu.br<…l…

52AADA50:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADA60:   20313038 436c6965 6e746531 3038406d † 108Cliente108@m

52AADA70:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADA80:   652e6564 752e6272 3c000800 6d000000 †e.edu.br<…m…

52AADA90:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADAA0:   20313039 436c6965 6e746531 3039406d † 109Cliente109@m

52AADAB0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADAC0:   652e6564 752e6272 3c000800 6e000000 †e.edu.br<…n…

52AADAD0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADAE0:   20313130 436c6965 6e746531 3130406d † 110Cliente110@m

52AADAF0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADB00:   652e6564 752e6272 3c000800 6f000000 †e.edu.br<…o…

52AADB10:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADB20:   20313131 436c6965 6e746531 3131406d † 111Cliente111@m

52AADB30:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADB40:   652e6564 752e6272 3c000800 70000000 †e.edu.br<…p…

52AADB50:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADB60:   20313132 436c6965 6e746531 3132406d † 112Cliente112@m

52AADB70:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADB80:   652e6564 752e6272 3c000800 71000000 †e.edu.br<…q…

52AADB90:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADBA0:   20313133 436c6965 6e746531 3133406d † 113Cliente113@m

52AADBB0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADBC0:   652e6564 752e6272 3c000800 72000000 †e.edu.br<…r…

52AADBD0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADBE0:   20313134 436c6965 6e746531 3134406d † 114Cliente114@m

52AADBF0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADC00:   652e6564 752e6272 3c000800 73000000 †e.edu.br<…s…

52AADC10:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADC20:   20313135 436c6965 6e746531 3135406d † 115Cliente115@m

52AADC30:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADC40:   652e6564 752e6272 3c000800 74000000 †e.edu.br<…t…

52AADC50:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADC60:   20313136 436c6965 6e746531 3136406d † 116Cliente116@m

52AADC70:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADC80:   652e6564 752e6272 3c000800 75000000 †e.edu.br<…u…

52AADC90:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADCA0:   20313137 436c6965 6e746531 3137406d † 117Cliente117@m

52AADCB0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADCC0:   652e6564 752e6272 3c000800 76000000 †e.edu.br<…v…

52AADCD0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADCE0:   20313138 436c6965 6e746531 3138406d † 118Cliente118@m

52AADCF0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADD00:   652e6564 752e6272 3c000800 77000000 †e.edu.br<…w…

52AADD10:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADD20:   20313139 436c6965 6e746531 3139406d † 119Cliente119@m

52AADD30:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADD40:   652e6564 752e6272 3c000800 78000000 †e.edu.br<…x…

52AADD50:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADD60:   20313230 436c6965 6e746531 3230406d † 120Cliente120@m

52AADD70:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADD80:   652e6564 752e6272 3c000800 79000000 †e.edu.br<…y…

52AADD90:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADDA0:   20313231 436c6965 6e746531 3231406d † 121Cliente121@m

52AADDB0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADDC0:   652e6564 752e6272 3c000800 7a000000 †e.edu.br<…z…

52AADDD0:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADDE0:   20313232 436c6965 6e746531 3232406d † 122Cliente122@m

52AADDF0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADE00:   652e6564 752e6272 3c000800 7b000000 †e.edu.br<…{…

52AADE10:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADE20:   20313233 436c6965 6e746531 3233406d † 123Cliente123@m

52AADE30:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADE40:   652e6564 752e6272 3c000800 7c000000 †e.edu.br<…|…

52AADE50:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADE60:   20313234 436c6965 6e746531 3234406d † 124Cliente124@m

52AADE70:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADE80:   652e6564 752e6272 3c000800 7d000000 †e.edu.br<…}…

52AADE90:   03000002 001c0040 00436c69 656e7465 †…….@.Cliente

52AADEA0:   20313235 436c6965 6e746531 3235406d † 125Cliente125@m

52AADEB0:   79646174 61626173 65646573 61737472 †ydatabasedesastr

52AADEC0:   652e6564 752e6272 30000800 b3dc0000 †e.edu.br0…³Ü..

52AADED0:   03000002 00160037 00506564 726f5065 †…….7.PedroPe

52AADEE0:   64726f47 616c7661 6f404669 742d5465 †droGalvao@Fit-Te

52AADEF0:   636e6f6c 6f676961 2e6f7267 2e627230 †cnologia.org.br0

52AADF00:   000800b4 dc000003 00000200 16003700 †…´Ü………7.

52AADF10:   50656472 6f506564 726f4761 6c76616f †PedroPedroGalvao

52AADF20:   40466974 2d546563 6e6f6c6f 6769612e †@Fit-Tecnologia.

52AADF30:   6f72672e 62723000 0800b5dc 00000300 †org.br0…µÜ….

52AADF40:   00020016 00370050 6564726f 50656472 †…..7.PedroPedr

52AADF50:   6f47616c 76616f40 4669742d 5465636e †oGalvao@Fit-Tecn

52AADF60:   6f6c6f67 69612e6f 72672e62 72300008 †ologia.org.br0..

52AADF70:   00b6dc00 00030000 02001600 37005065 †.¶Ü………7.Pe

52AADF80:   64726f50 6564726f 47616c76 616f4046 †droPedroGalvao@F

52AADF90:   69742d54 65636e6f 6c6f6769 612e6f72 †it-Tecnologia.or

52AADFA0:   672e6272 30000800 b7dc0000 03000002 †g.br0…·Ü……

52AADFB0:   00160037 00506564 726f5065 64726f47 †…7.PedroPedroG

52AADFC0:   616c7661 6f404669 742d5465 636e6f6c †alvao@Fit-Tecnol

52AADFD0:   6f676961 2e6f7267 2e627200 001e881e †ogia.org.br…..

52AADFE0:   881e881e 34033403 fd02c602 8f025802 †….4.4.ý.Æ…X.

52AADFF0:   2102ea01 b3017c01 45010e01 d700a000 †!.ê.³.|.E…×. .

 

Observe que é justamente esta estrutura de dados que podemos encontrar os dados inseridos na Tabela Clientes, neste caso, a última coluna a direita do nosso Dump apresenta os dados. Além disso, a primeira coluna representa os OffSets existentes em cada neste página de dados, e ao final o comando DBCC Page apresenta o conjunto OffSet Table Row que a tabela Clientes esta associada para cada linha de registro que forma este objeto.

OFFSET TABLE:

 

Row – Offset

12 (0xc) – 820 (0x334)

11 (0xb) – 765 (0x2fd)

10 (0xa) – 710 (0x2c6)

9 (0x9) – 655 (0x28f)

8 (0x8) – 600 (0x258)

7 (0x7) – 545 (0x221)

6 (0x6) – 490 (0x1ea)

5 (0x5) – 435 (0x1b3)

4 (0x4) – 380 (0x17c)

3 (0x3) – 325 (0x145)

2 (0x2) – 270 (0x10e)

1 (0x1) – 215 (0xd7)

0 (0x0) – 160 (0xa0)

 

Fantástico, acabamos de fazer uma consulta a estrutura física e lógica do nosso banco de dados, em especialmente a tabela Cliente e seus dados, armazenados na página 153.

Nosso próximo passo será utilizar o Hex Editor Neo, para realizar o acesso ao arquivo de dados que compõe o Banco de Dados MyDatabaseDesastre e dentro deste arquivo encontrar qualquer dado e realizar a alteração deste dados, seguindo os passos abaixo:

  1. Encerrar o Serviço do SQL Server;
  2. Acessar a pasta ao qual o arquivo de dados MyDatabaseDesastre.mdf esta armazenado;
  3. Editar o arquivo MyDatabaseDesastre.mdf no Hex Editor Neo, conforme a apresenta Figura 3.

Figura3

Figura 3 – Arquivo MyDatabaseDesastre.mdf sendo editado no Hex Editor Neo.

Agora com o arquivo aberto temos que encontrar em qual OffSet os nossos dados começam a ser apresentados, para isso, basta realizar um simples cálculo informando o número da página de dados e multiplicar por 8192, sendo assim, teremos:

  • 153 * 8192 = 1253376 em seguida converter este valor para Binário teremos: 0x00132000.

Pronto é apartir do Offset 0x00132000 que nossos dados começam a aparecer no arquivo MyDatabaseDesastre.mdf, com isso, realize qualquer alteração que você deseja na coluna que representa a parte dos dados inseridos na tabela Clientes, salve sua alterações e reinicialize o serviço do SQL Server.

E agora ao retornamos para o Management Studio e consultarmos a relação de Banco de Dados, poderemos notar que o banco MyDatabaseDesastre neste momento esta apresentando normalmente a sua estrutura de objetos, mas por conseqüência da alteração que realizamos a tabela Clientes esta inacessível, e apresentando erro ao tentar realizar um simples Select. conforme apresenta a Figura 4:

Figura 4

Figura 4 – Estrutura do Banco de Dados MyDatabaseDesastre acessível mas com erros ao tentar consultar a Tabela Clientes.

 

E agora o que vamos fazer?

 

Pois bem, vou deixar você com água na boca, pensando, imaginando, refletindo como podemos resolver este problema em nosso banco de dados, como também, se existe uma forma para contornar a apresentação da mensagem de erro mesmo após a estrutura física e lógica de uma tabela ter sido alterada.

Espero que você tenha gostado, estamos quase no final desta série, retorno em breve apresentando como podemos restaurar a estrutura da nossa tabela clientes e demonstrando como podemos realizar a quebra do arquivo de log do banco de dados MyDatabaseDesastre.

Mais uma vez obrigado.

Até mais.

 

Autor: 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 pela Uninove - Campus São Roque. 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. Cursando Mestrado em Ciências da Computação - UFSCar - Campus - 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, para versões: 2000, 2005, 2008, 2008 R2, 2012 e 2014. 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. 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ção Oficial Microsoft MVP - SQL Server renovada desde 2007.

Um comentário em “Simulando – Desastre e Recuperação de Bancos de Dados – Microsoft SQL Server 2008 R2 e 2012 – Parte III.”

Deixe uma resposta

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