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.
Bizim local sistemimizde H:\ isminde bir sürücümüz var öncelikle OK butonuna tıklayarak buraya yedek almayı deneyelim.
Diskimize yedek alma işlemini sorunsuzca gerçekleştirdik.
Şimdi network üzerindeki bir alana yedek alma işlemini deneyelim. Z:\Backup şeklinde map edilmiş bir network sürücüm var.
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.
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.
Belirlediğimiz paht yedek planımıza eklendi. OK butonuna tıklayarak yedekleme işlemini başlatalım.
Yedek sırasında aşağıdaki gibi bir hata ekranı ile karşılaşmaktayız.
Ş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’
Komutumuzu çalıştırdığımızda komutun başarı ile tamamlandığını görüyoruz.
Ş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.
Açılan ekranda Add… butonuna tıklayarak Network üzerindeki sürücümüzü göstermeyi deneyelim.
File Name: ekranında … butonuna tıklayalım.
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.
Yolumuz belirlendiğine göre OK butonumuza tıklayalım.
Yedek almak içim OK butonumuza tıklayalım.
Yedeğimiz sorunsuzca alındı.
Alınmış olan yedeğimizi görebiliyoruz.
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.
Karşımıza gelen ekrandaki soruya YES diyerek sorgumuzu kayıt edelim.
Sorguma SQL_AYAR ismini veriyorum ve Save butonu ile kayıt ediyorum.
Ş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
DosyaàFarklı Kaydet… seçeneği ile dosyamızı kaydedelim.
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.
Batch dosyamız ve sorgumuz şu a belirlediğimiz yolda yer almakta.
Ş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.
Görevimize bir isim verip İleri butonu ile sonraki adıma ilerleyelim.
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.
Eylem türü olarak Programı başlat seçimini yapıp İleri butonu ile sonraki adıma ilerleyelim.
Ç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.
Yapılan işlemlerin bir özeti bize sunuldu. Son butonuna tıklayarak adımlarımızı bitirelim.
Oluşturduğumuz görevimiz sorunsuzca gözükmekte.
Bir makalemizin daha soruna geldik. Umarım yararlı olur. Bir başka makalede görüşmek dileğiyle.
Ç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
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
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
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
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ı
Eline sağlık.