{"id":709,"date":"2025-12-15T11:37:45","date_gmt":"2025-12-15T08:37:45","guid":{"rendered":"https:\/\/oraclius.com.tr\/?p=709"},"modified":"2025-12-15T13:47:13","modified_gmt":"2025-12-15T10:47:13","slug":"sql-server-ola-hallengren-yedekleme-stratejisi-rehberi","status":"publish","type":"post","link":"https:\/\/oraclius.com.tr\/tr\/sql-server-ola-hallengren-yedekleme-stratejisi-rehberi\/","title":{"rendered":"SQL Server Ola Hallengren Yedekleme Stratejisi Rehberi"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Bu rehber, Ola Hallengren&#8217;in me\u015fhur SQL Server Bak\u0131m \u00c7\u00f6z\u00fcm\u00fc&#8217;n\u00fc kullanarak, Cumartesi Tam (Full) ve hafta i\u00e7i Diferansiyel (Differential) yedekleme stratejinizi ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 anlat\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ad\u0131m 0: Kurulum \u00d6ncesi Haz\u0131rl\u0131k ve Script \u0130ndirme (Kritik!)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bu ad\u0131m, <code>DatabaseBackup<\/code> prosed\u00fcr\u00fcn\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereken altyap\u0131y\u0131 olu\u015fturur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">0.1. Gerekli Scriptleri \u0130ndirme<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Resmi Kayna\u011fa Gidin:<\/strong> Taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <a href=\"https:\/\/ola.hallengren.com\/sql-server-backup.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Ola Hallengren&#8217;in SQL Server Bak\u0131m \u00c7\u00f6z\u00fcm\u00fc<\/a> sayfas\u0131na gidin.<\/li>\n\n\n\n<li><strong>Scriptleri \u0130ndirin:<\/strong> Yedekleme stratejiniz i\u00e7in a\u015fa\u011f\u0131daki \u00fc\u00e7 temel <code>.sql<\/code> dosyas\u0131n\u0131 indirin:\n<ul class=\"wp-block-list\">\n<li><code>CommandLog.sql<\/code><\/li>\n\n\n\n<li><code>CommandExecute.sql<\/code><\/li>\n\n\n\n<li><code>DatabaseBackup.sql<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">0.2. Yedekleme Klas\u00f6r\u00fcn\u00fc Haz\u0131rlama<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Dizin Olu\u015fturun:<\/strong> Yedekleme dosyalar\u0131n\u0131z\u0131n tutulaca\u011f\u0131, sunucunuzda veya a\u011f \u00fczerinde bir dizin olu\u015fturun.\n<ul class=\"wp-block-list\">\n<li><strong>\u00d6rnek:<\/strong> <code>C:\\SQLBackups\\<\/code> veya <code>\\\\PaylasimAdiniz\\SQLBackups\\<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Yetki Kontrol\u00fc:<\/strong> SQL Server hizmet hesab\u0131n\u0131z\u0131n (genellikle <code>NT Service\\MSSQLSERVER<\/code> veya etki alan\u0131 hesab\u0131) bu dizine <strong>Yazma\/De\u011fi\u015ftirme<\/strong> iznine sahip oldu\u011fundan emin olun.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">0.3. Scriptleri Kurma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00fcm scriptler, sunucunun ana y\u00f6netim veritaban\u0131 olan <strong><code>master<\/code><\/strong> veritaban\u0131na kurulmal\u0131d\u0131r.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>SSMS&#8217;yi A\u00e7\u0131n ve Ba\u011flan\u0131n.<\/strong><\/li>\n\n\n\n<li><strong>master Veritaban\u0131n\u0131 Se\u00e7in:<\/strong> Yeni bir Sorgu Penceresi (<code>Ctrl + N<\/code>) a\u00e7\u0131n ve ba\u011fland\u0131\u011f\u0131n\u0131z\u0131n sol \u00fcstteki a\u00e7\u0131l\u0131r men\u00fcde <strong><code>master<\/code><\/strong> olarak ayarland\u0131\u011f\u0131ndan emin olun.<\/li>\n\n\n\n<li><strong><code>CommandLog.sql<\/code> Kurulumu:<\/strong> \u0130ndirdi\u011finiz <code>CommandLog.sql<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve sorgu penceresinde \u00e7al\u0131\u015ft\u0131r\u0131n. Bu, yedekleme sonu\u00e7lar\u0131n\u0131n kaydedilece\u011fi tabloyu olu\u015fturur.<\/li>\n\n\n\n<li><strong><code>CommandExecute.sql<\/code> Kurulumu:<\/strong> \u0130ndirdi\u011finiz <code>CommandExecute.sql<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve sorgu penceresinde \u00e7al\u0131\u015ft\u0131r\u0131n.<\/li>\n\n\n\n<li><strong><code>DatabaseBackup.sql<\/code> Kurulumu:<\/strong> \u0130ndirdi\u011finiz <code>DatabaseBackup.sql<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve sorgu penceresinde \u00e7al\u0131\u015ft\u0131r\u0131n.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Bu ad\u0131mlarla art\u0131k <code>dbo.DatabaseBackup<\/code> sakl\u0131 yordam\u0131n\u0131 kullanmaya haz\u0131rs\u0131n\u0131z.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ad\u0131m 1: Haftal\u0131k Tam Yedekleme (FULL) \u0130\u015fini Kurma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bu i\u015f, zincirin ba\u015flang\u0131c\u0131n\u0131 olu\u015fturur ve 7 g\u00fcnl\u00fck temizli\u011fi y\u00f6netir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1. SQL Server Agent \u0130\u015fini Olu\u015fturma<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>SSMS&#8217;de <strong>SQL Server Agent<\/strong> $\\rightarrow$ <strong>Jobs<\/strong> klas\u00f6r\u00fcne sa\u011f t\u0131klay\u0131n ve <strong>New Job<\/strong> se\u00e7ene\u011fini se\u00e7in.<\/li>\n\n\n\n<li><strong>General (Genel)<\/strong> sayfas\u0131nda bir isim verin: <strong><code>01-FULL_Haftalik_Yedekleme<\/code><\/strong><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1.2. Ad\u0131m\u0131 (Step) Tan\u0131mlama<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Steps (Ad\u0131mlar)<\/strong> sayfas\u0131na gidin ve <strong>New<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n\n\n\n<li><strong>Type (Tip):<\/strong> <code>Transact-SQL Script (T-SQL)<\/code><\/li>\n\n\n\n<li><strong>Database:<\/strong> <code>master<\/code><\/li>\n\n\n\n<li><strong>Command (Komut):<\/strong> A\u015fa\u011f\u0131daki komutu yap\u0131\u015ft\u0131r\u0131n. (Yolu de\u011fi\u015ftirmeyi unutmay\u0131n!)<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>EXECUTE dbo.DatabaseBackup\n  @Databases = 'USER_DATABASES',        -- Sadece kullan\u0131c\u0131 veritabanlar\u0131n\u0131 yedekle\n  @Directory = N'C:\\SQLBackups\\',       -- !!! YEDEKLEME YOLUNUZU BURAYA YAZIN !!!\n  @BackupType = 'FULL',                 -- Tam Yedekleme tipi\n  @Verify = 'Y',                        -- Yedekleme b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc kontrol et\n  @CleanupTime = 168,                   -- 7 g\u00fcn (7 * 24 saat) s\u00fcresince tut\n  @CleanupMode = 'BEFORE_BACKUP',       -- Yeni yedeklemeden \u00f6nce eskileri temizle\n  @Compress = 'Y',                      -- Yedeklemeyi s\u0131k\u0131\u015ft\u0131r\n  @Checksum = 'Y',\n  @LogToTable = 'Y'                     -- CommandLog tablosuna kay\u0131t tut\nGO<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.3. Zamanlamay\u0131 (Schedule) Ayarlama<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Schedules (Zamanlamalar)<\/strong> sayfas\u0131na gidin ve <strong>New<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n\n\n\n<li><strong>Name (Ad):<\/strong> <code>Cumartesi_2330<\/code><\/li>\n\n\n\n<li><strong>Occurs (Tekrarlama):<\/strong> <code>Weekly<\/code><\/li>\n\n\n\n<li><strong>On (G\u00fcn):<\/strong> Sadece <strong>Saturday (Cumartesi)<\/strong> se\u00e7ene\u011fini i\u015faretleyin.<\/li>\n\n\n\n<li><strong>Saat:<\/strong> <code>23:30:00<\/code> (Gece 11:30)<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ad\u0131m 2: G\u00fcnl\u00fck Diferansiyel Yedekleme (DIFF) \u0130\u015fini Kurma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bu i\u015f, Tam yedeklemeden sonraki de\u011fi\u015fen verileri kaydeder.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.1. SQL Server Agent \u0130\u015fini Olu\u015fturma<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Yeni bir i\u015f olu\u015fturun.<\/li>\n\n\n\n<li><strong>General (Genel)<\/strong> sayfas\u0131nda bir isim verin: <strong><code>02-DIFF_Gunluk_Yedekleme<\/code><\/strong><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2.2. Ad\u0131m\u0131 (Step) Tan\u0131mlama<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Steps (Ad\u0131mlar)<\/strong> sayfas\u0131na gidin ve <strong>New<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n\n\n\n<li><strong>Type (Tip):<\/strong> <code>Transact-SQL Script (T-SQL)<\/code><\/li>\n\n\n\n<li><strong>Database:<\/strong> <code>master<\/code><\/li>\n\n\n\n<li><strong>Command (Komut):<\/strong> A\u015fa\u011f\u0131daki komutu yap\u0131\u015ft\u0131r\u0131n. (Yolu Ad\u0131m 1&#8217;deki ile ayn\u0131 tutun!)<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>EXECUTE dbo.DatabaseBackup\n  @Databases = 'USER_DATABASES',\n  @Directory = N'C:\\SQLBackups\\',       -- !!! AYNI YEDEKLEME YOLU !!!\n  @BackupType = 'DIFF',                 -- Diferansiyel Yedekleme tipi\n  @Verify = 'Y',\n  @CleanupTime = 168,                   -- 7 g\u00fcn boyunca tut\n  @CleanupMode = 'BEFORE_BACKUP',\n  @Compress = 'Y',\n  @Checksum = 'Y',\n  @LogToTable = 'Y'\nGO<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3. Zamanlamay\u0131 (Schedule) Ayarlama<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Schedules (Zamanlamalar)<\/strong> sayfas\u0131na gidin ve <strong>New<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n\n\n\n<li><strong>Name (Ad):<\/strong> <code>Pazar_Cuma_2330<\/code><\/li>\n\n\n\n<li><strong>Occurs (Tekrarlama):<\/strong> <code>Weekly<\/code><\/li>\n\n\n\n<li><strong>On (G\u00fcn):<\/strong> Cumartesi hari\u00e7 t\u00fcm g\u00fcnleri i\u015faretleyin (<strong>Pazar, Pazartesi, Sal\u0131, \u00c7ar\u015famba, Per\u015fembe, Cuma<\/strong>).<\/li>\n\n\n\n<li><strong>Saat:<\/strong> <code>23:30:00<\/code> (Gece 11:30)<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfc1 Sonu\u00e7: Temizlik ve Y\u00f6netim<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Temizlik Garantisi:<\/strong> Her iki komuttaki <code>@CleanupTime = 168<\/code> ayar\u0131 sayesinde, sistem 7 g\u00fcnden eski olan ve geri y\u00fckleme zincirini k\u0131rmayacak t\u00fcm yedekleri otomatik olarak silecektir.<\/li>\n\n\n\n<li><strong>\u0130zleme:<\/strong> <code>@LogToTable = 'Y'<\/code> ayar\u0131, her yedekleme i\u015fleminin sonucunu <code>master<\/code> veritaban\u0131ndaki <code>dbo.CommandLog<\/code> tablosuna yazar. Hata kontrol\u00fc i\u00e7in bu tabloyu d\u00fczenli olarak kontrol edin.<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu rehber, Ola Hallengren&#8217;in me\u015fhur SQL Server Bak\u0131m \u00c7\u00f6z\u00fcm\u00fc&#8217;n\u00fc kullanarak, Cumartesi Tam (Full) ve hafta i\u00e7i Diferansiyel (Differential) yedekleme stratejinizi ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 anlat\u0131r.<\/p>\n","protected":false},"author":1,"featured_media":711,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-709","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel-en"],"_links":{"self":[{"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/posts\/709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/comments?post=709"}],"version-history":[{"count":2,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/posts\/709\/revisions"}],"predecessor-version":[{"id":712,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/posts\/709\/revisions\/712"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/media\/711"}],"wp:attachment":[{"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/media?parent=709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/categories?post=709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oraclius.com.tr\/tr\/wp-json\/wp\/v2\/tags?post=709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}