Aracılığıyla paylaş


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

Bu makalede, SQL Server Express veritabanlarının yedeklemelerini zamanlanmış olarak 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
Özgün KB numarası: 2019698

Özet

SQL Server Agent bileşeni bu sürümlere dahil olmadığından SQL Server Express sürümleri, 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ış olarak otomatikleştirmek için Transact-SQL betiğinin Görev Zamanlayıcı ile birlikte nasıl kullanılacağı açıklanmaktadır.

Not

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

SQL Express'te zamanlanmış yedekleme oluşturma

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

1. Adım: Veritabanlarınızı yedeklemek için saklı yordam oluşturma

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

SQL_Express_Backups

2. Adım: SQLCMD istemci yardımcı programını indirme

yardımcı sqlcmd programı Transact-SQL deyimlerini, sistem yordamlarını ve betik dosyalarını girmenizi sağlar. SQL Server 2014 ve alt sürümlerinde 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.

3. Adım: Metin düzenleyicisi kullanarak toplu iş dosyası oluşturma

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

  • Aşağıdaki senaryoların tümü yer tutucu olarak kullanılır D:\SQLBackups . 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 kısıtlandığından emin olun.

Not

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

Örnek 1: Windows Kimlik Doğrulaması 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 değişiklik 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 Backup İşleci rolüne sahip olmalıdır.

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

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

Örnek 4: Windows Kimlik Doğrulaması 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 @backupType parametresi için 'L' dosyasına yapıştırarak USERDB'nin günlük Yedeklemesini yapabilirsiniz.

4. Adım: 2. adımda oluşturduğunuz toplu iş dosyasını yürütmek için Windows Görev Zamanlayıcı'yı kullanarak iş zamanlama

Şu adımları izleyin:

  1. SQL Server Express çalıştıran bilgisayarda Başlat'ı seçin ve metin kutusuna Görev Zamanlayıcı yazın.

    Başlat menüsü 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ı seçerek başlatın.

  3. Görev Zamanlayıcı'da, Görev Zamanlayıcı (Yerel) öğesine sağ tıklayın ve Temel görev oluştur'u seçin.

  4. Yeni görevin adını girin (örneğin, SQLBackup) ve İleri'yi seçin.

  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'yi seçin.

  7. Eylem olarak Program başlat'ı ve ardından İleri'yi seçin.

  8. Gözat'ı seçin, 3. Adımda oluşturduğunuz toplu iş dosyasını seçin ve ardından Aç'ı seçin.

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

  10. Genel sekmesinde:

    • 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, aşağıdaki kullanıcı hesabını kullanın:)

      Hesabın yardımcı programı başlatmak sqlcmd 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, görev sahibinin SQL yedeklemeleri yapma iznine sahip olduğundan emin olun.

      • Toplu iş dosyasında SQL Kimlik Doğrulaması kullanılıyorsa, SQL kullanıcısının SQL yedeklemelerini yapmak için gerekli izinlere sahip olması gerekir.

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

İpucu

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

Gereksinimler

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

  • Görev Zamanlayıcı hizmeti, işin çalışmak üzere zamanlandığı sırada çalışıyor olmalıdır. Bu hizmet için 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 yeterli alan oluşturmanız gerekir. Disk alanınız yetersiz olduğundan 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ış