Você está na página 1de 7
Intwgridade do Banco de Dados — Select [SOL Server] From Microsoft Where OBA = ‘Ciblle Casi SELECT [SQL SERVER] FROM MICROSOFT WHERE DBA = 'CIBELLE CASTRO’ Use Blog GO! Integridade do Banco de Dados Publicado em 02/02/201126/10/2011 por Cibelle Castro Os dados dentro do banco de dados podem se tornar corrompidos se houver uma falha no sistema de armazenamento em disco quando o SQL. Sever estiver gravando em uma pagina. As paginas de dados tem tamanho de 8 quilobytes(KB), mas ao efetuar operagdes de gravagao, o SQL Server divide uma pagina em 16 blocos de 512 bytes(lembrando que 1KB = 1024 bytes). Fazendo as contas fica mais ou menos assim: 512 bytes x 16 blocos = 8192 bytes Aplicando uma regra de tres simples: 1KB —————- 1024 bytes xKB ——-——- 8192 bytes 1024x = 8192 x=8KB Ou seja exatamente o tamanho de uma pagina de dados. Se o SQL Sever comega a gravar blocos em uma pagina e o sistema de disco falha no meio do processo de gravacao, apenas uma parte da pagina e gravada com sucesso, gerando um problema chamado de “pagina rasgada” ou, em inglés, “torn page”. Os bancos de dados tem uma opgao chamada PAGE_VERIFY. A verificagao de pagina pode ser configurada como TORN_PAGE_DETECTION ou CHECKSUM. A opcgao TORN_PAGE_DETECTION de PAGE_VERIFY existe para compatibilidade de versdes anteriores e nao dever ser utilizada. hitpvebel castro werdpress.com/2011)02I02ntogrdado-do-banco-do-dads! w ovr Itagridad do Banco de Dados Select [SAL Sarver] From Mrasat Where OBA = ‘Ciblle Gate Quando a opcio CHECKSUM de PAGE_VERIFY e ativada, o SQL Server calcula um CHECKSUM(ou soma de verificago em portugués) para a pagina antes da gravacao. Sempre que uma pagina ¢ lida do disco uma soma de verificacao e novamente calculada é comparada com 0 CHECKSUM gravado na pagina. Se as somas dos CHECKSUM nao corresponderem, a pagina foi corrompida. Quando 0 SQL Server encontra uma pagina corrompida é gerado um erro, 0 comando que esté tentando acessar a pagina corrompida é cancelado e uma entrada é gravada na tabela SUSPECT_PAGES do banco de dados msdb. Embora a verificagao de pagina possa detectar e registrar paginas corrompidas, a pagina deve ser lida do disco para disparar a verificacao. Normalmente, os dados sao lidos do disco quando usuérios e aplicativos os acessam, mas em vez de ter um usudrio recebendo uma mensagem de erro, é muito melhor encontrar a corrupsao preventivamente e corrigir 0 problema usando um backup, antes que usuario tenha um proceso cancelado. Vocé pode obrigar o SQL Sever a ler toda pagina do disco e verificar a integridade executando 0 comando DBCC CHECKDB. A sintaxe de DBCC CHECKDB: DBCC CHECKDB [(‘database’ | databas [, NOINDEX REPAIR_ALLOW_DATA_LOSS REPAIR_FAST REPAIR_REBUILD] 1 (WITH { [ALL_ERRORMSGS ] [, NO_INFOMSGS ] [, TABLOCK ] [, ESTIMATEONLY ] [, { PHYSICAL_ONLY | DATA_PURITY } ] } I id 10 Quando o DBCC CHECKDB ¢ executado, 0 SQL Server executa todas as acées descritas abaixo: © Verifica a alocagao de pagina dentro do banco de dados. © Verifica a integridade estrutural de todas as tabelas e viewes indexadas. © Calcula um CHECKSUM para cada pagina de dados e indices para comparar com 0 CHECKSUM armazenado. © Valida o contetido de cada modo de exibicao indexado. © Verifica o catélogo do banco de dados. © Valida os dados do Service Broker dentro do banco de dados Para realizar essas verificacdes, o comando DBCC CHECKDB executa os seguintes comandos: © DBCC CHECKALLOG, para verificar a alocagio de pagina do banco de dados. © DBCC CHECKCATALOG, para verificar 0 catélogo do banco e dados. © DBCC CHECKTABLE, para cada tabela e view no banco de dados verificar a integridade estrutural. Os erros encontrados séo mostrados na saida para que vocé possa corrigir os problemas. Se for encontrado um erro de integridade em um indice, vocé deve eliminar e recriar o indice. Se for encontrado um erro de integridade em uma tabela, vocé precisa usar seus backups mais recentes para reparar as paginas danificadas, DICA Espelhamento de banco de dados hitpvebel castro werdpress.com/2011)02I02ntogrdado-do-banco-do-dads! ar 207-143 Intwgridade do Banco de Dados — Select [SOL Server] From Microsoft Where OBA = ‘Ciblle Casi Se o banco de dados estiver participando de espelhamento de banco de dados(Database Mirroring), © SQL Server tentard recuperar uma cépia da pagina do espelho. Se a pagina puder ser recuperada do espelho e tiver contetdo correto, seré substituida automaticamente no principal, sem exigir nenhuma intervengao. Quando o SQL Server substitui uma pagina corrompida a partir do espelho, uma entrada é gravada na VIEW SYS.DM_DB_MIRRORING_AUTO_PAGE_REPAIR. Aqueles que pretendem tirar certificagao SQL Server 2005 ou 2008(70-431 ou 70-432 respectivamente) esse assunto é um dos abordados. Vou colocar logo abaixo um exemplo de como poderiam abordar esse assunto. ‘A power failure occurs on the storage area network (SAN) where your SQL Server 2005 database server is located. You need to check the allocation as well as the structural and logical integrity of all databases, including their system catalogs. What should you do? ‘A. Execute DBCC CHECKFILEGROUP for each filegroup. B, Execute DBCC CHECKCATALOG. C. Execute DBCC CHECKDB. D. Execute DBCC CHECKTABLE for each table. Resposta: C Bom espero que tenham gostado do post! 1X by Counter CWveke ag Share Your Passi eee ec es Se ea Get started hitpvebellecastrowerdpress.com/2011)02I02ntogrdado-do-banco-do-dados! ar 2017. Intwgridade do Banco de Dados — Select [SOL Server] From Microsoft Where DBA = ‘Ciblle Castro X by Counterf CWivenelaa Share Your Passion eee ec es Se ea Get started Far Bad ive a4 publicado por Cibelle Castro Ver todos os posts de Cibelle Castro 3 comentarios em “Integridade do Banco de Dados” Fabricio Catae disse: 29/04/21 as 6:59 PM 1. O artigo ficou muito bom! Em especial, a introducao que compara o tamanho do cluster de disco (612 bytes) contra o tamanho da pagina SQL. Seria muito legal se postasse mais coisas Parabéns! sim! Abragos, Fabricio hitpvebellecastro.werdpress.com/2011)02!02ntogrdado-do-banco-do-dados! 207-143 Intwgridade do Banco de Dados — Select [SOL Server] From Microsoft Where OBA = ‘Ciblle Casi 2. Obrigada Fabrici ! Depois desse incentivo vou procurar fazer mais post's assim. Responder 3. Pingback: Anil m ban: rrompido « Alex Si hitpvebel castro werdpress.com/2011)02I02ntogrdado-do-banco-do-dads! 57 207-143 Intwgridade do Banco de Dados — Select [SOL Server] From Microsoft Where OBA = ‘Ciblle Casi BLOG NO WORDPRESS.COM. AUTOMATTIC. X by Counterfo x by Countert hitpvebel castro werdpress.com/2011)02I02ntogrdado-do-banco-do-dads! ar 207-143 Intgridaco do Banco de Dados — Select [SOL Server] From Microsoft Where DBA hitpvebel castro werdpress.com/2011)02I02ntogrdado-do-banco-do-dads! ‘Cibelle Caste aw