SQL Server

SQL Server 2016 Network Üzerinden Yedek Almak

Bu makalemizde SQL Server 2016 üzerinden ağ sürücüsüne yedekleme yapma işlemini ele alıyor olacağız. Sql mevcut sunucu üzerindeki sürücülere yedek alabilmekte ancak map olan sürücülere yedek alamamaktadır.  Adımlarımıza başlayarak durumu görelim ve nasıl yedek alacağımız konusunda ilerleyelim. Öncelikle TEST isminde bir veritabanımız var. Veritabanımıza sağ tıklayarak TaskàBack Up… kısmına tıklayalım.

clip_image002

Bizim local sistemimizde H:\ isminde bir sürücümüz var öncelikle OK butonuna tıklayarak buraya yedek almayı deneyelim.

clip_image004

Diskimize yedek alma işlemini sorunsuzca gerçekleştirdik.

clip_image006

Şimdi network üzerindeki bir alana yedek alma işlemini deneyelim. Z:\Backup şeklinde map edilmiş bir network sürücüm var.

clip_image007

Ancak SQL Management Studio üzerinden yedek almak istediğimizde bu Map sürücümüzü seçip bu alana yedek alamayız. Bu yıllardır süregelen bir durum nedendir bilemiyorum ama güvenlik amaçlı olduğunu düşünüyorum.

clip_image009

Bu alanda görülmemesine rağmen ben el ile Z:\Backup şeklinde path yolunu gösterip yedek almayı deneyeceğim. Gerekli ayarımızı tamamladıktan sonra OK butonuna tıklayalım.

clip_image011

Belirlediğimiz paht yedek planımıza eklendi. OK butonuna tıklayarak yedekleme işlemini başlatalım.

clip_image013

Yedek sırasında aşağıdaki gibi bir hata ekranı ile karşılaşmaktayız.

clip_image015

Şimdi Z:\ sürücüsünü SQL sunucumuzun tanıyacağı ve buraya yedek alacağı hale getirelim.

EXEC master.dbo.sp_configure ‘show advanced options’, 1

RECONFIGURE

EXEC master.dbo.sp_configure ‘xp_cmdshell’, 1

RECONFIGURE

 

EXEC XP_CMDSHELL ‘NET USE Map Sürücü: “\\MapAdresi\MapKlasörü” /user:MapErisimiOlan Kullanıcı Parola’

Örnek:

EXEC XP_CMDSHELL ‘NET USE Z: “\\192.168.2.165\sql_backup” /user:test\administrator Password1’

 

clip_image017

Komutumuzu çalıştırdığımızda komutun başarı ile tamamlandığını görüyoruz.

clip_image019

Şimdi bu ayarımızdan sonra yedek alma işlemini tekrar deneyelim. Veritabanımız üzerinde sağ tıklayarak TaskàBack Up… kısmına tıklayalım.

clip_image021

Açılan ekranda Add… butonuna tıklayarak Network üzerindeki sürücümüzü göstermeyi deneyelim.

clip_image023

File Name: ekranında butonuna tıklayalım.

clip_image025

Komutumuz ile Z:\Backup sürücüsüne erişim sağladığımızı görebiliyoruz. Z:\Backup yolunu seçerek File Name: kısmında yedeğimize bir isim verelim ve OK butonuna tıklayalım.

clip_image027

Yolumuz belirlendiğine göre OK butonumuza tıklayalım.

clip_image029

Yedek almak içim OK butonumuza tıklayalım.

clip_image031

Yedeğimiz sorunsuzca alındı.

clip_image033

Alınmış olan yedeğimizi görebiliyoruz.

clip_image034

Bu işlemimiz sunucumuz kapatılıp açılana kadar veya SQL servisi start durumda olduğu süre içerisinde geçerli. Bu nedenle bu ayarımızın bilgisayar her açıldığında otomatik olarak yapılmasını sağlamalıyız. Bu işlem için çalıştırmış olduğumuz komutlarımızı kayıt edelim. X butonu ile sorgumuzu kapatalım.

clip_image036

Karşımıza gelen ekrandaki soruya YES diyerek sorgumuzu kayıt edelim.

clip_image038

Sorguma SQL_AYAR ismini veriyorum ve Save butonu ile kayıt ediyorum.

clip_image040

Şimdi bu sorgumuzu oluşturmak için aşağıdaki komut ile bir batch dosyası oluşturuyorum. Komutumu notepad içerisine yazıyorum.

Sqlcm -s localhost -i C:\Sql sorgumuzun olduğu yol ve dosya adı

Sqlcm -s localhost -i C:\SQL_AYAR\SQL_AYAR.sql

clip_image042

DosyaàFarklı Kaydet… seçeneği ile dosyamızı kaydedelim.

clip_image044

Dosyamıza bir isim verelim. Kayıt türü olarak ise Tüm Dosyalar seçimini yapalım ve dosyamızı yukarıda belirlemiş olduğumuz yola Kaydet butonuna tıklayarak kaydedelim.

clip_image046

Batch dosyamız ve sorgumuz şu a belirlediğimiz yolda yer almakta.

clip_image047

Şimdi sıra Batch dosyamızı otomatik olarak çalıştırıp SQL koşunu çalıştırmaya. Bu işlem için Görev Zamanlayıcıdan yararlanacağız. Görev zamanlayıcıyı açalım ana konsol üzerinde sağ tıklayarak Temel Görev Oluştur… kısmına tıklayalım.

clip_image048

Görevimize bir isim verip İleri butonu ile sonraki adıma ilerleyelim.

clip_image049

Görevimiz bilgisayar her yeniden başladığında çalışacağı için Bilgisayar başladığında seçimini yapalım ve İleri butonuna tıklayarak bir sonraki adıma ilerleyelim.

clip_image050

Eylem türü olarak Programı başlat seçimini yapıp İleri butonu ile sonraki adıma ilerleyelim.

clip_image051

Çalıştırılacak olan eylem dosyasını Gözat… butonuna tıklayarak yolunu gösterelim ve İleri butonu ile sonraki adıma geçelim.

clip_image053

Yapılan işlemlerin bir özeti bize sunuldu. Son butonuna tıklayarak adımlarımızı bitirelim.

clip_image054

Oluşturduğumuz görevimiz sorunsuzca gözükmekte.

clip_image056

Bir makalemizin daha soruna geldik. Umarım yararlı olur. Bir başka makalede görüşmek dileğiyle.

Rıza ŞAHAN

www.rizasahan.com

İlgili Makaleler

6 Yorum

  1. Çok işime yaradı artık backup için disk alanı aramaya gerek kalmadı 🙂
    harici USB disk paylaşıma açtım gelsin backuplar
    teşekkürler

  2. Merhaba Bilgi için Teşekkur ederiz.

    Benim sql server 2012 programı içinde bu uyguladıklarımız geçerlimi aynı şekilde işlem yapıyorum hata alıyorum onun için

  3. Z: “\\webteam\Yeni klasör” /user:javayazilim\administrator *******’
    kullanıyorum
    Bu komutun sözdizimi:
    NULL
    NET USE
    [devicename | *] [\\computername\sharename[\volume] [password | *]]
    [/USER:[domainname\]username]
    [/USER:[dotted domain name\]username]
    [/USER:[username@dotted domain name]
    [/SMARTCARD]
    [/SAVECRED]
    [/REQUIREINTEGRITY]
    [/REQUIREPRIVACY]
    [/WRITETHROUGH]
    [[/DELETE] | [/PERSISTENT:{YES | NO}]]
    NULL
    NET USE {devicename | *} [password | *] /HOME
    NULL
    NET USE [/PERSISTENT:{YES | NO}]
    NULL
    NULL

  4. Z: “\\webteam\Yeni klasör” /user:javayazilim\administrator *******’ kullanıyorum

    şöle bir hata alıyorum

    Bu komutun sözdizimi:
    NULL NET USE [devicename | *] [\\computername\sharename[\volume] [password | *]] [/USER:[domainname\]username] [/USER:[dotted domain name\]username] [/USER:[username@dotted domain name] [/SMARTCARD] [/SAVECRED] [/REQUIREINTEGRITY] [/REQUIREPRIVACY] [/WRITETHROUGH] [[/DELETE] | [/PERSISTENT:{YES | NO}]] NULL NET USE {devicename | *} [password | *] /HOME NULL NET USE [/PERSISTENT:{YES | NO}] NULL NULL

  5. Deneme yanılma yönetmiyle şu şekilde çözdüm
    komutların arasına / koydum çünkü atak olarak görüyor

    *E/X/E/C *.dbo.sp_configure ‘show advanced options’, 1
    *R/E/C/O/N/F/I/G/U/R/E
    *E/X/E/C *.dbo.sp_configure ‘x/p_c/m/d/s/h/e/l/l/’, 1
    *R/E/C/O/N/F/I/G/U/R/E/ // * yer veritabanı adınız

    *E/X/E/C/ X/P/_C/M/D/S/H/E/L/L/ ‘N/E/T U/S/E Z: “\\webteam\Yeni klasör” /user:javayazilim ******** ‘ // * olan yer şifre kısmı

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu