{"id":1523,"date":"2012-06-29T14:05:31","date_gmt":"2012-06-29T16:05:31","guid":{"rendered":"http:\/\/fabriciolima.net\/blog\/?p=1523"},"modified":"2016-07-24T10:22:52","modified_gmt":"2016-07-24T13:22:52","slug":"database-mirroring-operation-mode-high-safety-without-failover-parte-2","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2012\/06\/29\/database-mirroring-operation-mode-high-safety-without-failover-parte-2\/","title":{"rendered":"Database Mirroring &#8211; Operation Mode High Safety Without Failover &#8211; Parte 2"},"content":{"rendered":"<p>Fala Pessoal,<\/p>\n<p>Neste post continuarei com o teste do Operation Mode High Safety Without Automatic Failover.  Caso ainda n\u00e3o tenha visto o post anterior, sugiro que o leia  antes de continuar:<\/p>\n<p><a rel=\"bookmark\" href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/06\/27\/database-mirroring-operation-mode-high-safety-without-failover-parte-1\/\" target=\"_blank\">Database Mirroring \u2013 Operation Mode High Safety Without Failover \u2013  Parte 1<\/a><\/p>\n<p><strong>Nesse teste foi simulado um problema com o servidor B (Mirror).<\/strong><br \/>\nCom o loop de insert rodando a cada 0.1 segundos. O mirror inicialmente estava como abaixo:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1583\" title=\"Figura1\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11.png\" alt=\"\" width=\"416\" height=\"319\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11.png 579w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11-300x230.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11-410x314.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11-100x77.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11-275x211.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura11-20x15.png 20w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/a><\/p>\n<p>Parando o servi\u00e7o do SQL Server do servidor B, o ambiente fica conforme a figura abaixo. O contador Unsent log cresce sem parar e tamb\u00e9m podemos ver o tempo da transa\u00e7\u00e3o mais antiga que ainda n\u00e3o foi para o servidor mirror em Oldest unsent transaction (nesse caso 1 minuto e 11 segundos).<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1584\" title=\"Figura2\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21.png\" alt=\"\" width=\"433\" height=\"239\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21.png 569w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21-300x166.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21-410x226.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21-100x55.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21-275x152.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura21-20x11.png 20w\" sizes=\"auto, (max-width: 433px) 100vw, 433px\" \/><\/a><\/p>\n<p>Voltando o servidor B, o mirror fica sincronizando:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1585\" title=\"Figura3\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31.png\" alt=\"\" width=\"506\" height=\"78\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31.png 506w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31-300x46.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31-410x63.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31-100x15.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31-275x42.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura31-20x3.png 20w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><\/p>\n<p>At\u00e9 que fique completamente sincronizado:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1586\" title=\"Figura4\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41.png\" alt=\"\" width=\"495\" height=\"78\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41.png 495w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41-300x47.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41-410x65.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41-100x16.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41-275x43.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura41-20x3.png 20w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/a><\/p>\n<p>Realizando esse mesmo teste, entretanto, ao inv\u00e9s de voltar o servidor B, tamb\u00e9m vou parar o servidor A e em seguida voltar o servidor B antes do servidor A.<\/p>\n<p>Parando primeiramente o servidor B, temos:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1587\" title=\"Figura5\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5.png\" alt=\"\" width=\"626\" height=\"80\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5.png 626w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5-300x38.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5-410x52.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5-100x13.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5-275x35.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura5-20x3.png 20w\" sizes=\"auto, (max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p>Com o servidor B parado, como tudo o que est\u00e1 ruim pode piorar, o servidor A tamb\u00e9m parou de funcionar e o mirror fica conforme abaixo:<\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1588\" title=\"Figura6\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6.png\" alt=\"\" width=\"549\" height=\"85\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6.png 549w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6-300x46.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6-410x63.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6-100x15.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6-275x43.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura6-20x3.png 20w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><\/a><\/p>\n<p>Nesse momento a galera da Infraestrutura conseguiu resolver o problema do servidor B e o mesmo fica dispon\u00edvel:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1589\" title=\"Figura7\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7.png\" alt=\"\" width=\"572\" height=\"83\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7.png 572w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7-300x44.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7-410x59.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7-100x15.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7-275x40.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura7-20x3.png 20w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/a><\/p>\n<p>Entretanto, como era esperado, a base n\u00e3o fica dispon\u00edvel pois os dados mais atuais est\u00e3o armazenados no servidor A. Com isso, a database do servidor B fica conforme abaixo:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1590\" title=\"Figura8\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8.png\" alt=\"\" width=\"295\" height=\"80\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8.png 295w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8-100x27.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8-275x75.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura8-20x5.png 20w\" sizes=\"auto, (max-width: 295px) 100vw, 295px\" \/><\/a><\/p>\n<p>Nesse ponto voc\u00ea tem duas op\u00e7\u00f5es:<\/p>\n<ol>\n<li> \u2022\u00a0\u00a0 \u00a0Esperar o problema do servidor A ser resolvido.<\/li>\n<li> \u2022\u00a0\u00a0 \u00a0Acabar com o mirror e come\u00e7ar a utilizar o servidor B, j\u00e1 considerando uma perda de dados do tempo em que o servidor A (Principal) ficou rodando enquanto apenas o servidor B estava fora.<\/li>\n<\/ol>\n<p>Se voc\u00ea esperar o servidor A voltar, o mirror fica conforme abaixo:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1591\" title=\"Figura9\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9.png\" alt=\"\" width=\"499\" height=\"83\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9.png 499w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9-300x50.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9-410x68.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9-100x17.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9-275x46.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura9-20x3.png 20w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p>At\u00e9 se sincronizar totalmente e tudo voltar \u00e0 normalidade:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1592\" title=\"Figura10\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10.png\" alt=\"\" width=\"503\" height=\"82\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10.png 503w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10-300x49.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10-410x67.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10-100x16.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10-275x45.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2012\/05\/Figura10-20x3.png 20w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><\/p>\n<p>Se voc\u00ea n\u00e3o esperar o servidor A voltar, acabar com o mirror e come\u00e7ar a utilizar o servidor B, se um dia o servidor A voltar, voc\u00ea pode utilizar o mesmo para tentar recuperar os seus dados manualmente. Dependendo do tamanho do ambiente, o trabalho pode ser muito grande.<\/p>\n<p>At\u00e9 o pr\u00f3ximo post desse operation Mode.<\/p>\n<p>Artigos relacionados:<\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/05\/15\/serie-de-posts-sobre-database-mirroring\/\" target=\"_blank\">S\u00e9rie de Posts sobre Database Mirroring<\/a><\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/05\/15\/database-mirroring-como-alterar-o-operation-mode\/\" target=\"_blank\">Database Mirroring \u2013 Como alterar o Operation Mode<\/a><\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/05\/23\/database-mirroring-testes-operation-mode-high-performance-parte-1\/\" target=\"_blank\">Database Mirroring \u2013 Operation Mode High Performance \u2013 Parte 1<\/a><\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/05\/28\/database-mirroring-operation-mode-high-performance-parte-2\/\" target=\"_blank\">Database Mirroring \u2013 Operation Mode High Performance \u2013 Parte 2<\/a><\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/05\/31\/database-mirroring-operation-mode-high-performance-parte-3\/\" target=\"_blank\">Database Mirroring &#8211; Operation Mode High Performance &#8211; Parte 3<\/a><\/p>\n<p><a rel=\"bookmark\" href=\"https:\/\/www.fabriciolima.net\/blog\/2012\/06\/27\/database-mirroring-operation-mode-high-safety-without-failover-parte-1\/\" target=\"_blank\">Database Mirroring \u2013 Operation Mode High Safety Without Failover \u2013  Parte 1<\/a><\/p>\n<p><b>Gostou desse Post?<\/b><\/p>\n<p>Cadastre seu e-mail para receber novos Posts e curta minha <a href=\"https:\/\/www.facebook.com\/FabricioLimaSolucoesemBancodeDados\/\" target=\"_blank\">P\u00e1gina no Facebook<\/a> para receber Dicas de Leituras e Eventos sobre SQL Server.<\/p>\n<p>Abra\u00e7os,<\/p>\n<p>Fabr\u00edcio Lima<\/p>\n<p>MCITP \u2013 Database Administrator<\/p>\n<p>Consultor e Instrutor SQL Server<\/p>\n<p>Trabalha com SQL Server desde 2006<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fala Pessoal, Neste post continuarei com o teste do Operation Mode High Safety Without Automatic Failover. Caso ainda n\u00e3o tenha visto o post anterior, sugiro que o leia antes de continuar: Database Mirroring \u2013 Operation Mode High Safety Without Failover \u2013 Parte 1 Nesse teste foi simulado um problema com o servidor B (Mirror). Com [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[3,280],"tags":[604,606,391,23,607,372,613,611,612,610,608,616,49,33,50,34,605,609,614,615],"class_list":["post-1523","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-virtual-pass-br","tag-alta-disponibilidade","tag-database-mirror","tag-database-mirroring","tag-dba","tag-espelhamento-de-banco-de-dados","tag-high-availability","tag-high-performance","tag-high-safety-with-automatic-failover","tag-high-safety-without-automatic-failover","tag-operation-mode","tag-perda-de-dados","tag-safety","tag-sql","tag-sql-server","tag-sql-server-2005","tag-sql-server-2008","tag-sql-server-mirror","tag-sql-server-online","tag-sys-database_mirroring","tag-witness"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/1523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=1523"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/1523\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=1523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=1523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=1523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}