{"id":5051,"date":"2019-01-06T15:29:15","date_gmt":"2019-01-06T15:29:15","guid":{"rendered":"http:\/\/mehmetsalihdeveci.net\/?p=5051"},"modified":"2019-02-28T08:24:21","modified_gmt":"2019-02-28T08:24:21","slug":"sql-server-alwayson-3","status":"publish","type":"post","link":"https:\/\/ittutorial.org\/sql-server-alwayson-3\/","title":{"rendered":"SQL Server AlwaysOn -3"},"content":{"rendered":"<p>Merhaba Arkada\u015flar,<\/p>\n<p>Bu yaz\u0131mda sizlere SQL Server AlwaysOn u anlatmaya devam edece\u011fim. Bu yaz\u0131 \u00f6nceki <a href=\"https:\/\/ittutorial.org\/2019\/01\/06\/sql-server-alwayson-2\/\">iki yaz\u0131n\u0131n<\/a> devam\u0131 niteli\u011findedir.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5053\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-56.png\" alt=\"\" width=\"589\" height=\"396\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-56.png 589w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-56-300x202.png 300w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/p>\n<p><!--more--><\/p>\n\n<p>\u00d6nceki yaz\u0131daki gibi T\u00fcm a\u015famalar tamamland\u0131ktan sonra <strong>Object Explorer<\/strong> \u00fczerinden <strong>Availability Replicas<\/strong>, <strong>Availability Databases<\/strong> ve <strong>Availability Group Listeners<\/strong> \u0131 monitor etme ilgili availability group \u00fczerinde sa\u011f t\u0131klanarak <strong>Show Dashboard<\/strong> se\u00e7ilirek a\u015fa\u011f\u0131daki gibi yap\u0131l\u0131r.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5054\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-25.png\" alt=\"\" width=\"614\" height=\"305\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-25.png 1105w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-25-300x149.png 300w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-25-768x382.png 768w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-25-1024x509.png 1024w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>Yukardaki Dashboarddan g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi SQLC1 adl\u0131 Instance Primary durumda, SQLC2 adl\u0131 Instance Secondary durumda ve FailoverModelar\u0131 Automatic olup senkronizasyon durumunda da s\u0131k\u0131nt\u0131 bulunmamaktad\u0131r.<\/p>\n<p>AlwaysOn da bulunan TESTDB mize a\u015fa\u011f\u0131daki gibi s\u00fcrekli data insert edip secondary ye anl\u0131k geldi\u011fini ve Readable oldu\u011funu g\u00f6sterece\u011fiz.<\/p>\n<pre>use TESTDB\r\ncreate table TestTable(\r\ncol1 int identity(1,1) not null,\r\ncol2 datetime null\r\n)\r\n\r\nuse TESTDB\r\nalter table TestTable add constraint DF_TestTable_col2 default (getdate()) for col2\r\ngo\r\n\r\n\r\nuse TESTDB\r\nset nocount on\r\ngo\r\n\r\nwhile 1=1\r\nbegin\r\ninsert TestTable values(default)\r\nwaitfor delay '00:00:05'\r\nend<\/pre>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5055\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-26.png\" alt=\"\" width=\"614\" height=\"210\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-26.png 661w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-26-300x103.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Primary olan SQLC1 e veri giri\u015fi yap\u0131l\u0131rken a\u015fa\u011f\u0131daki gibi SQLC2 den sorgu \u00e7ekti\u011fimizde neredeyse anl\u0131k olarak veriler SQLC2 yede gelmektedir. Bu neredeyse anl\u0131k Senkronizasyonda en \u00f6nemli katk\u0131 Networksel olarak sunucular\u0131n ayn\u0131 blogda yanyana olmas\u0131ndand\u0131r ve networksel olarak hi\u00e7bir waitin ya\u015fanmamaktad\u0131r.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5056\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-27.png\" alt=\"\" width=\"446\" height=\"409\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-27.png 446w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-27-300x275.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>SQL Server AlwaysOn da verilerin anl\u0131k olarak Secondary e gitti\u011fini g\u00f6sterdik. \u015eimdi Manuel olarak Failover yapal\u0131m ve durumu g\u00f6relim. Primary sunucuda herhangi bir maintenance yap\u0131laca\u011f\u0131 zaman sunucu bak\u0131mlar\u0131 vs s\u0131ras\u0131nda bu y\u00f6ntemi kullanabilirsiniz.<\/p>\n<p>AlwaysOn dashboard dan a\u015fa\u011f\u0131daki gibi Start Failover Wizard \u0131 \u00e7al\u0131\u015ft\u0131r\u0131yoruz. \u00c7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce son kez kontrol ediyoruz SQLC1 Primary durumda, SQLC2 ise Secondary durumdad\u0131r.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5057\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-28.png\" alt=\"\" width=\"614\" height=\"333\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-28.png 781w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-28-300x162.png 300w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-28-768x416.png 768w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5058\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-29.png\" alt=\"\" width=\"614\" height=\"570\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-29.png 729w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-29-300x279.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>Bizim senaryomuzda SQLC1 primary SQLC2 Secondary oldu\u011fu i\u00e7in bu ad\u0131mda secondary a\u015fa\u011f\u0131daki gibi se\u00e7ip ba\u011flan\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5059\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-30.png\" alt=\"\" width=\"614\" height=\"576\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-30.png 723w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-30-300x281.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5060\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-31.png\" alt=\"\" width=\"614\" height=\"573\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-31.png 723w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-31-300x280.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>Next dedi\u011fimizde Failover \u00d6ncesi son kez bize bilgilendirme yap\u0131yor.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5061\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-32.png\" alt=\"\" width=\"614\" height=\"574\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-32.png 726w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-32-300x281.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>Failover \u0131 ba\u015flat\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5062\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-33.png\" alt=\"\" width=\"614\" height=\"575\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-33.png 725w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-33-300x281.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>Ve Failover i\u015flemi tamamland\u0131.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5063\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-34.png\" alt=\"\" width=\"614\" height=\"577\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-34.png 721w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-34-300x282.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>tekrar gidip SQL Server AlwaysOn Dashboard u a\u00e7t\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki gibi SQLC1 art\u0131k Secondary durumda, SQLC2 ise Primary durumdad\u0131r.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5064\" src=\"https:\/\/salihdeveci.files.wordpress.com\/2019\/01\/sql-server-2012-alwayson-35.png\" alt=\"\" width=\"614\" height=\"305\" srcset=\"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-35.png 783w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-35-300x149.png 300w, https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/01\/sql-server-2012-alwayson-35-768x382.png 768w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>AlwaysOn listener name yada IP kullan\u0131ld\u0131\u011f\u0131 durumda bu Failover saniyeler i\u00e7inde ger\u00e7ekle\u015fti\u011fi i\u00e7in \u00e7okta hissedilmez ve uygulamadaki kesinti minimum d\u00fczeyde olacakt\u0131r.<\/p>\n<p>B\u00f6ylece bu yaz\u0131n\u0131nda sonuna gelmi\u015f bulunmaktay\u0131m bir sonraki yaz\u0131da g\u00f6r\u00fc\u015fmek dile\u011fiyle esen kal\u0131n&#8230;<\/p>\n\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda a\u015fa\u011f\u0131daki konularda 7&#215;24 Uzman Dan\u0131\u015fmanlara yada E\u011fitimlere mi\u00a0<\/span><span style=\"color: #ff0000;\">\u0130htiyac\u0131n\u0131z var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle ileti\u015fime ge\u00e7ebilirsiniz.<\/span><\/p>\n<p><span style=\"color: #ff0000;\">&#8211; Oracle Veritaban\u0131 Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle Veritaban\u0131 Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Exadata Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Exadata Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; SQL Server Veritaban\u0131 Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; SQL Server Veritaban\u0131 Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Goldengate Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Goldengate Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Linux Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Linux Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EBS Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EBS Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Weblogic Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Weblogic Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle Veritaban\u0131 E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle VM Server Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle VM Server Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EPPM Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EPPM Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle Primavera Dan\u0131\u015fmanl\u0131\u011f\u0131<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle Primavera Bak\u0131m ve Destek<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; SQL Server E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Goldengate E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Exadata E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Linux E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EBS E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle VM Server E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Weblogic E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle EPPM E\u011fitimleri<\/span><br \/>\n<span style=\"color: #ff0000;\">&#8211; Oracle Primavera E\u011fitimleri<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhaba Arkada\u015flar, Bu yaz\u0131mda sizlere SQL Server AlwaysOn u anlatmaya devam edece\u011fim. Bu yaz\u0131 \u00f6nceki iki yaz\u0131n\u0131n devam\u0131 niteli\u011findedir.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[19,23],"tags":[108,460,508,614,1000,1031,1515,1577,1583,1594,1601,1618,1619,1632,1647,1653],"class_list":["post-5051","post","type-post","status-publish","format-standard","","category-sql-server","category-veritabani","tag-alwayson","tag-database-high-availability","tag-deveci","tag-failover","tag-log-shipping","tag-mehmet-salih-deveci","tag-salih-deveci","tag-sql-server","tag-sql-server-2008","tag-sql-server-2008-log-shipping","tag-sql-server-2012-alwayson","tag-sql-server-alwayson","tag-sql-server-alwayson-kurulumu","tag-sql-server-disaster-recovery","tag-sql-server-high-availability","tag-sql-server-log-shipping"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/5051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/comments?post=5051"}],"version-history":[{"count":2,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/5051\/revisions"}],"predecessor-version":[{"id":5762,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/5051\/revisions\/5762"}],"wp:attachment":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/media?parent=5051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/categories?post=5051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/tags?post=5051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}