Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:
Öğretici: Azure Data Studio kullanarak veritabanlarını yedekleme ve geri yükleme
BACKUP DATABASE komut ailesini kullanan bir Transact-SQL betiği kullanın. Daha fazla bilgi için bkz . BACKUP (Transact-SQL).
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
:
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:
SQL Server Express çalıştıran bilgisayarda Başlat'ı seçin ve metin kutusuna Görev Zamanlayıcı yazın.
En iyi eşleşme'nin altında Görev Zamanlayıcı'yı seçerek başlatın.
Görev Zamanlayıcı'da, Görev Zamanlayıcı (Yerel) öğesine sağ tıklayın ve Temel görev oluştur'u seçin.
Yeni görevin adını girin (örneğin, SQLBackup) ve İleri'yi seçin.
Görev Tetikleyicisi için Günlük'e tıklayın ve İleri'ye tıklayın.
Yinelenmeyi bir gün olarak ayarlayın ve İleri'yi seçin.
Eylem olarak Program başlat'ı ve ardından İleri'yi seçin.
Gözat'ı seçin, 3. Adımda oluşturduğunuz toplu iş dosyasını seçin ve ardından Aç'ı seçin.
Son'a tıkladığımda bu görevin Özellikler iletişim kutusunu aç onay kutusunu seçin.
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.