SQL Server Express'de SQL Server veritabanlarının yedeklemelerini zamanlama ve otomatikleştirme

Bu makalede, SQL Server Express veritabanlarının yedeklemelerini zamanlanmış şekilde otomatikleştirmek için Transact-SQL betiğinin ve Windows Görev Zamanlayıcı'nın nasıl kullanılacağı açıklanır.

Özgün ürün sürümü: SQL Server
Orijinal KB numarası: 2019698

Özet

SQL Server Express sürümleri, SQL Server Agent bileşeni bu sürümlere dahil edilmediğinden işleri veya bakım planlarını zamanlamanın bir yolunu sunmaz. Bu nedenle, bu sürümleri kullanırken veritabanlarınızı yedeklemek için farklı bir yaklaşım benimsemeniz gerekir.

Şu anda SQL Server Express kullanıcıları, aşağıdaki yöntemlerden birini kullanarak veritabanlarını yedekleyebilir:

SQL Server Management Studio veya Azure Data Studio kullanın. Veritabanını yedeklemek için bu araçların nasıl kullanılacağı hakkında daha fazla bilgi için aşağıdaki bağlantıları gözden geçirin:

Bu makalede, SQL Server Express veritabanlarının yedeklemelerini zamanlanmış şekilde otomatikleştirmek için Görev Zamanlayıcısı ile birlikte Transact-SQL betiğinin nasıl kullanılacağı açıklanmaktadır.

Not

Bu yalnızca SQL Server express sürümleri için geçerlidir ve SQL Server Express LocalDB için geçerli değildir.

Daha fazla bilgi

Windows Görev Zamanlayıcı'yı kullanarak SQL Server veritabanlarınızı yedeklemek için şu dört adımı izlemeniz gerekir:

Adım A: Veritabanlarınızı Yedeklemek için saklı yordam oluşturun.

SQL express örneğine bağlanın ve aşağıdaki konumdaki betiği kullanarak ana veritabanınızda sp_BackupDatabases saklı yordamını oluşturun:

SQL_Express_Backups

Adım B: SQLCMD aracını indirin (varsa).

yardımcı sqlcmd programı Transact-SQL deyimlerini, sistem yordamlarını ve betik dosyalarını girmenizi sağlar. SQL Server 2014 ve daha düşük sürümlerde yardımcı program ürünün bir parçası olarak gönderilir. SQL Server 2016'dan itibaren yardımcı sqlcmd program ayrı bir indirme olarak sunulur. Daha fazla bilgi için sqlcmd Yardımcı Programı'nı gözden geçirin.

Adım C: Metin düzenleyicisini kullanarak toplu iş dosyası oluşturun.

Bir metin düzenleyicisinde, Sqlbackup.bat adlı bir toplu iş dosyası oluşturun ve senaryonuza bağlı olarak aşağıdaki örneklerden birindeki metni bu dosyaya kopyalayın:

  • Aşağıdaki tüm senaryolar, D:\SQLBackups öğesini yer tutucu olarak kullanılır. Betiğin, ortamınızdaki doğru sürücüye ve Yedekleme klasörü konumuna ayarlanması gerekir.

  • SQL kimlik doğrulaması kullanıyorsanız, parolalar düz metinde depolandığından klasöre erişimin yetkili kullanıcılarla sınırlı olduğundan emin olun.

Not

SQLCMD yürütülebilir dosyanın klasörü, genellikle SQL Server yüklendikten veya siz onu tek başına araç olarak yükledikten sonra sunucunun Path değişkenlerindedir. Ancak Path değişkeni bu klasörü listelemezse, konumunu Path değişkenine ekleyebilir veya tam yolunu yardımcı programa belirtebilirsiniz.

Örnek 1: Windows Kimlik Doğrulaması'nı kullanarak SQLEXPRESS'in yerel adlandırılmış örneğindeki tüm veritabanlarının tam yedeklemeleri.

 // Sqlbackup.bat
 sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\', @backupType='F'"

Örnek 2: SQLLogin ve parolasını kullanarak SQLEXPRESS'in yerel adlandırılmış örneğindeki tüm veritabanlarının türevsel yedekleri.

 // Sqlbackup.bat
sqlcmd -U <YourSQLLogin> -P <StrongPassword> -S .\SQLEXPRESS -Q "EXEC sp_BackupDatabases  @backupLocation ='D:\SQLBackups', @BackupType='D'"

Not

SQLLogin, SQL Server'da en azından Yedekleme İşleci rolüne sahip olmalıdır.

Örnek 3: Windows Kimlik Doğrulaması kullanarak SQLEXPRESS'in yerel adlandırılmış örneğindeki tüm veritabanlarının günlük yedeklemeleri

 // Sqlbackup.bat
 sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\',@backupType='L'"

Örnek 4: Windows Kimlik Doğrulaması'nı kullanarak SQLEXPRESS'in yerel adlandırılmış örneğinde USERDB veritabanının tam yedeklemeleri

 // Sqlbackup.bat
 sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\', @databaseName='USERDB', @backupType='F'"

Benzer şekilde, @backupType parametresi için 'D' dosyasına yapıştırarak USERDB'nin değişiklik Yedeğini ve @backupTypeparametresi için 'L' dosyasına yapıştırarak USERDB'nin günlük Yedeklemesini yapabilirsiniz.

Adım D: B adımında oluşturduğunuz toplu iş dosyasını yürütmek için Windows Görev Zamanlayıcı'yı kullanarak bir iş zamanlayın. Bunu yapmak için şu adımları izleyin:

  1. SQL Server Express çalıştıran bilgisayarda Başlat'a tıklayın ve metin kutusuna Zamanlayıcı görevi yazın.

    Başlat menüsünün arama çubuğundaki Görev Zamanlayıcı Masaüstü uygulaması seçeneğinin ekran görüntüsü.

  2. En iyi eşleşme'nin altında Görev Zamanlayıcı'yı tıklatarak başlatın.

  3. Görev Zamanlayıcı'da , Görev Zamanlaması Kitaplığı'nı sağ tıklatın ve Temel görev oluştur... öğesine tıklayın.

  4. Yeni görevin adını girin (örneğin: SQLBackup) ve İleri'ye tıklayın.

  5. Görev Tetikleyicisi için Günlük'e tıklayın ve İleri'ye tıklayın.

  6. Yinelenmeyi bir gün olarak ayarlayın ve İleri'ye tıklayın.

  7. Eylem olarak Program başlat'ı seçin ve İleri'ye tıklayın.

  8. Gözat'a tıklayın, C Adımında oluşturduğunuz toplu iş dosyasına tıklayın ve ardından 'a tıklayın.

  9. Son'a tıkladığımda bu görevin Özellikler iletişim kutusunu aç kutusunu işaretleyin.

  10. Genel sekmesinde.

    1. Güvenlik seçeneklerini gözden geçirin ve görevi çalıştıran kullanıcı hesabı için aşağıdakilerden emin olun (Görevi çalıştırırken, kullanıcı aşağıdaki kullanıcı hesabı altında listelenir:)

      Hesabın sqlcmd yardımcı programını başlatmak için en azından Okuma ve Yürütme izinlerine sahip olması gerekir. Ayrıca,

      • Toplu iş dosyasında Windows kimlik doğrulaması kullanılıyorsa, SQL Yedeklemeleri yapmaya yönelik görev izinlerinin sahibinden emin olun.

      • Toplu iş dosyasında SQL kimlik doğrulaması kullanılıyorsa, SQL kullanıcısı SQL Yedeklemeleri yapmak için gerekli izinlere sahip olmalıdır.

    2. Diğer ayarları gereksinimlerinize göre ayarlayın.

İpucu

Test olarak, görevin sahibi olan aynı kullanıcı hesabıyla başlatılan bir komut isteminden C Adımı'ndaki toplu iş dosyasını çalıştırın.

Bu makalede belgelenen yordamı kullanırken aşağıdakilere dikkat edin:

  • İşin çalışmak üzere zamanlandığı sırada Görev Zamanlayıcı hizmeti çalışıyor olmalıdır. Bu hizmetin başlangıç türünü Otomatik olarak ayarlamanızı öneririz. Bu, hizmetin yeniden başlatmada bile çalışmasını sağlar.

  • Yedeklemelerin yazıldığı sürücüde çok fazla alan olmalıdır. Disk alanınız dolmadığından emin olmak için Yedekleme klasöründeki eski dosyaları düzenli olarak temizlemenizi öneririz. Betik, eski dosyaları temizleme mantığını içermez.

Ek başvurular

Görev Zamanlayıcıya Genel Bakış