Galera, bom dia.
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.
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.
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.
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. 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.
- 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.
- 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.
- 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:
- Encerrar o Serviço do SQL Server;
- Acessar a pasta ao qual o arquivo de dados MyDatabaseDesastre.mdf esta armazenado;
- Editar o arquivo MyDatabaseDesastre.mdf no Hex Editor Neo, conforme a apresenta Figura 3.
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 – 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.