Web design and hosting, database, cloud and social media solutions that deliver business results
  • İş çözümleri
    • Robotik Süreç Otomasyonu
    • Veritabanı Hizmetleri
      • Veri Entegrasyonu
      • Araçlar
    • Yazılım
    • Web Sitesi Tasarımı
      • Web Sitesi Güvenliği
      • Web Yerelleştirme ve Çeviri
    • İş hizmetleri
      • Microsoft Azure
    • Microsoft Office
    • Sosyal Medya
  • Akademi
    • Test Ortamımız
    • Veritabanı Tasarımını Öğrenme
      • SQL-Server
      • SQL Server 2008 Bakım Planı
      • SQL Server işlevlerini kullanma
      • SQL Server Pivot-Unpivot'u Kullanma
      • SQL Server Tarihlerini Kullanma
    • Web Sitesi Tasarımı Öğrenme
      • ASP-NET
      • CSS
  • Hakkında
    • kariyer
      • İngilizce-Türkçe Çevirmen
    • Portföy
    • Takım
      • Adrian Anandan
      • Ali El Amin
      • Ayşe Hür
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Sunel Kumar
      • Surya Mukkamala
عربى (AR)čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

SQL Server veritabanını saklı bir prosedürden geri yüklemek için dinamik bir komut dosyası

Daha geniş bir bakım planının parçası olarak bir dizi parametreyi kullanarak veritabanlarını geri yükleyebilen dinamik SQL komut dosyası kullanarak merkezi, genel ve yeniden kullanılabilir bir saklı yordam oluşturun

İşlem

DB.png'yi geri yükle

Bir veritabanını geri yükleme işlemi, SSMS'den komut dosyası oluşturulabilir. Bu bir Saklı Prosedüre kaydedildiğinde, diğer işlenmiş veya sunuculardan çağrılabilir ve özellikle birleştirilmiş bakım planının bir parçası olarak kullanışlıdır.

Aşağıda iki komut dosyası oluşturduk.

Basit komut dosyası ile SSMS'den oluşturulan kodu kullanın ve Saklı Yordamın içeriğini değiştirin.

Genel komut dosyasıyla, değişkenler kullanılarak tek veritabanları geri yüklenebilir, yani onu yeniden kullanabilirsiniz.

Simple Script

USE [utilities]GOCREATE PROC [maint].RestoreDatabase_{dbname} AS BEGINRESTORE DATABASE [dbname] FROM DISK=N'c:\backupfolder\{dbname}.bak' WITH FILE= 1,MOVE N'{dbname}' TO N'd:\database\{dbname}.mdf',MOVE N'{dbname}_log' TO N'e:\database\{dbname}.ldf',NOUNLOAD, REPLACE, STATS= 10,STANDBY=N'e:\database\ROLLBACK_UNDO_{dbname}.bak'ENDGO

Yeniden kullanılabilir komut dosyası

Bu komut dosyası, başka bir yerden çağrılabilmesi için bir dizi parametre kullanır, böylece gerekirse yeniden kullanılabilir ve çapraz sunucu olarak adlandırılabilir.

  • @dbname - Çağrılmasını istediğiniz veritabanı adı
  • @Directory_Bak - Yedeklerin depolandığı klasör
  • @Directory_Dat - Günlük dosyalarını ve veritabanı dosyalarını farklı disklerde tutmak en iyisidir, bu yüzden onu depolamak istediğiniz dizin budur
  • @Directory_Log - Yukarıdaki gibi, günlük dosyanız için ayrı bir dizin kullanın
  • @Directory_Stand - Bu, günlük gönderimi düşünülerek geliştirilmiştir, bu nedenle ana veritabanınızdan raporlama veritabanına geri yükleme yapmak için kullanılabilir

SQL

USE [utilities]GOCREATE PROC [maint].RestoreDatabase(@dbname NVARCHAR(100),@Directory_Bak NVARCHAR(100),@Directory_Dat NVARCHAR(100),@Directory_Log NVARCHAR(100),@Directory_Stand BIT) AS BEGINDECLARE @SQL NVARCHAR(MAX)='RESTORE DATABASE ['+@dbname+'] FROM DISK=N'''+@Directory_Bak+''+@dbname+'.bak'' WITH FILE= 1,MOVE N'''+@dbname+''' TO N'''+@Directory_Dat+@dbname+'.mdf'',MOVE N'''+@dbname+'_log'' TO N'''+@Directory_Log+@dbname+'.ldf'',NOUNLOAD, REPLACE, STATS=10'--Standby CodeIF ISNULL(@Directory_Bak,'')<>''SET @SQL=@SQL+',STANDBY=N'''+@Directory_Stand+'ROLLBACK_UNDO_'+@dbname+'.bak'''EXEC master..sp_executesql @SQLENDGO

Yazar

Helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Çerez politikasısite haritası

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Bu sitedeki ayarlar tüm çerezlere izin verecek şekilde ayarlanmıştır. Bunlar, çerez politikamız ve ayarlar sayfamızdan değiştirilebilir. Bu siteyi kullanmaya devam ederseniz, çerezlerin kullanımını kabul etmiş olursunuz.
Ousia Logo
Logout
Ousia CMS Loader