análise de um banco de dados corrompido na

11
SQL Server Specialist – IBM MCITP, MCTS @EricksonRicci http://ericksonricci.wordpress.com/ Erickson Ricci Análise de um banco de dados corrompido na prática

Upload: erickson-fabricio-domingos-ricci

Post on 27-Jun-2015

274 views

Category:

Education


6 download

DESCRIPTION

Apresentação sobre corrupção de dados realizada para a comunidade MCITP SC

TRANSCRIPT

Page 1: Análise de um banco de dados corrompido na

SQL Server Specialist – IBMMCITP, MCTS@EricksonRiccihttp://ericksonricci.wordpress.com/

Erickson Ricci

Análise de um banco de dados corrompido na prática

Page 2: Análise de um banco de dados corrompido na

Era uma vez...

... mais um dia de trabalho normal ...... e ao validar seu job de manutenção ...... parece que seu banco de dados corrompeu ...

Page 3: Análise de um banco de dados corrompido na

O que fazer nessa situação?

• Mantenha a calma

• Identifique o problema

• Analise o problema

• Ação

Page 4: Análise de um banco de dados corrompido na

Identificando e analisando o problema

DBCC CHECKDB [ [ ( database_name | database_id | 0 [ , NOINDEX | , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ] ) ] [ WITH { [ ALL_ERRORMSGS ] [ , EXTENDED_LOGICAL_CHECKS ] [ , NO_INFOMSGS ] [ , TABLOCK ] [ , ESTIMATEONLY ] [ , { PHYSICAL_ONLY | DATA_PURITY } ] } ] ]

Page 5: Análise de um banco de dados corrompido na

Identificando e analisando o problema

DBCC TRACEON (3604)

DBCC PAGE( {'dbname' | dbid}, filenum, pagenum [, printopt={0|1|2|3} ])

Page 6: Análise de um banco de dados corrompido na

Ação

--To Restore an Entire Database from a Full database backup (a Complete Restore):RESTORE DATABASE { database_name | @database_name_var } [ FROM <backup_device> [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] | , <general_WITH_options> [ ,...n ] | , <replication_WITH_option> | , <change_data_capture_WITH_option> | , <service_broker_WITH options> | , <point_in_time_WITH_options—RESTORE_DATABASE> } [ ,...n ] ][;]

Page 7: Análise de um banco de dados corrompido na

Ação--To Restore Specific Pages: RESTORE DATABASE { database_name | @database_name_var } PAGE = 'file:page [ ,...n ]' [ , <file_or_filegroups> ] [ ,...n ] [ FROM <backup_device> [ ,...n ] ] WITH NORECOVERY [ , <general_WITH_options> [ ,...n ] ][;]

--To Restore a Transaction Log:RESTORE LOG { database_name | @database_name_var } [ <file_or_filegroup_or_pages> [ ,...n ] ] [ FROM <backup_device> [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] | , <general_WITH_options> [ ,...n ] | , <replication_WITH_option> | , <point_in_time_WITH_options—RESTORE_LOG> } [ ,...n ] ] [;]

Page 8: Análise de um banco de dados corrompido na

Show...

Demos

Page 9: Análise de um banco de dados corrompido na

Dúvidas ?

Page 10: Análise de um banco de dados corrompido na

Referências

Microsoft SQL Server 2008 Internalshttp://www.amazon.com/Microsoft%C2%AE-SQL-Server%C2%AE-2008-Internals/dp/0735626243

How to use a DBCC PAGEhttp://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/10/625659.aspx

Under the covers: GAM, SGAM and PFS Pageshttp://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/07/08/under-the-covers-gam-sgam-and-pfs-pages.aspx

DBCC CHECKDBhttp://msdn.microsoft.com/pt-br/library/ms176064.aspx

RESTOREhttp://msdn.microsoft.com/pt-br/library/ms186858.aspx

MCM Study Grouphttp://www.jasonstrate.com/2011/12/sql-mcm-study-group/

Page 11: Análise de um banco de dados corrompido na

 © 2009 Microsoft Corporation. Todos os direitos reservados.Microsoft, Active Directory, Windows e Windows Vista são marcas registradas ou comerciais da Microsoft Corporation nos Estados Unidos e/ou outros países. Os nomes de empresas e produtos reais aqui mencionados podem ser marcas comerciais de seus respectivos proprietários. As informações aqui contidas destinam-se a fins informativos apenas e representam a visão atual da Microsoft Corporation na data desta apresentação. Como a Microsoft deve responder às mudanças das condições de mercado, este documento não deve ser interpretado como um compromisso da parte da Microsoft, e a Microsoft não pode assegurar a exatidão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ NENHUMA GARANTIA, EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, QUANTO ÀS INFORMAÇÕES NESTA APRESENTAÇÃO.