Web design and hosting, database, cloud and social media solutions that deliver real business results
  • Veritabanı Hizmetleri
    • Araçlar
      • Claytabase Server Disk IOPs Calculator
      • SQL Kod Yedekleme
      • SQL Yazıcı
    • Teknik Makaleler
      • SQL-Server
      • SQL Server 2008 Bakım Planı
      • SQL Server işlevlerini kullanma
      • SQL Server Tarihlerini Kullanma
  • Web Sitesi Tasarımı
    • Ousia
    • Teknik Makaleler
      • ASP-NET
      • CSS
    • Web Sitesi Güvenliği
    • Wight Adası
  • İş hizmetleri
    • Microsoft Azure
    • Microsoft Office
  • Sosyal Medya
  • Hakkında
    • Portföy
    • Takım
      • Chester Copperpot
CS - češtinaDE - DeutschEN - EnglishES - EspañolFR - FrançaisHI - हिंदीIT - italianoPL - polskiPT - PortuguêsRU - русскийZH - 中国的

SQL Server 2008 için eksiksiz bir bakım planı

Veritabanı dosyalarını birden çok sunucuda yedekleyip geri yükleyebilen, zamanlara bağlı olarak dizinleri yeniden organize eden veya yeniden oluşturabilen SQL Server Bakım Planı

Veritabanlarını En İyileştirme

Scrolling CSS Diagram

Bu bölüm veritabanlarının optimize edilmesine ayrılmıştır. Bu örnekte, aşağıdakileri yapmak için kodu kuracağız (sunucuların nasıl bağlandığının kaba bir diyagramına bakınız);

  • Canlı sunucudan paylaşılan bir yedekleme klasörüne yedekleme veritabanı
  • Yeniden Dizin Veritabanı
  • Tüm bağlantıları kesin ve veritabanını raporlama sunucusunda geri yükleyin.
  • Bağlantılı Sunucular yakında ayrı bir makalede olacak
  • Log Shipping, ayrı bir makalede yakında olacak

Sunucu çapraz yaparken, SQL Server'ın hedef sunucular dosya sistemine erişimden çalıştığı hesaba izin vermeniz gerekecek.

Tüm SQL kodu bir yardımcı program veritabanından çalıştırılır ve şema "maint" olarak ayarlanır

Aşağıda sizin için ilginç olabilecek bir dizi başka makale bulunmaktadır.

Parçalanmış veritabanı dizinlerini yeniden oluşturma veya yeniden düzenleme saklı yordamı

Veritabanının adını girerek herhangi bir veritabanını yeniden endekslemek için arayabileceğiniz, yeniden kullanılabilir bir Saklanan Prosedür.

Saklanan Prosedür, seçilen veritabanına yapılan tüm bağlantıları kesmek için

SQL Saklı Yordamı çağıran kişi dışında seçilen veritabanına yapılan tüm bağlantıları kesmek.

Disk alanı ve veritabanı boyutu e-posta uyarıları

Bir işe ekleyebileceğiniz e-posta yoluyla disk alanı ve veritabanı uyarılarını gönderecek bir saklı yordam oluşturun

Veritabanını Saklı Yordamdan Geri Yükleme

Veritabanını Saklı Yordamdan Geri Yükleme

Tam Bakım Planı

Artık, bu ayrı kod parçalarını, doğru sırayla çağıracak başka bir prosedürle yönetebiliriz; bu, canlı sunucuya konur. Kod şu şekilde çalışır;

  • Zaman çalışın
  • Eğer akşam tekrar ederse veritabanını indeksleyin
  • Veritabanının yedeklemesini çalıştırın (ihtiyacınız olan yere ekleyin)
  • Akşam ise diğer veritabanlarını yedekleyin (ihtiyacınız olan yere ekleyin)
  • Bağlantıları kes ve veritabanını geri getir (ihtiyacın olan yere ekleyin)

Bu kod denenmiş ve test edilmiş ve herhangi bir sorun olmaksızın aylarca sürmüştür.

Günlük dosyalarının ve veritabanı dosyalarının küçültülmesinin, günlüğü boşalttığınız bir yedekleme çalıştırarak (kullanılan alanı koruyacaktır) minimum düzeyde tutulması gerektiğini lütfen unutmayın. Normal çalışma saatleri dışında çalıştırılması gerektiğinde gerek duyulursa.

SQL Code

Use [utilities]
GO
CREATE PROC [maint].MaintenancePlan AS BEGIN
DECLARE @BackupType VARCHAR(1)='E'
IF DATEPART(HOUR,GETDATE()) BETWEEN 5 AND 21 BEGIN
SET @BackupType='D'
END
--EXEC ('USE TempDb; DBCC SHRINKFILE(templog, 0)');--This is only needed when space is at a premium!
--Re-index Live
IF @BackupType='E' EXEC [maint].DatabaseReIndex 'dbname'
--Create Backup
BACKUP DATABASE TO DISK=N'{backuplocation}{dbname}.bak'
WITH NOFORMAT, INIT, NAME =N'{dbname}', SKIP, NOREWIND, NOUNLOAD, STATS= 10;
--EXEC ('USE ; DBCC SHRINKFILE(_log, 0)');--This is only needed when space is at a premium!
--Backup Other Files at Night
IF @BackupType='E' BEGIN
  EXEC [maint].DatabaseReIndex 'dbname'
  --Backup Others
  BACKUP DATABASE [databasename] TO DISK=N'{backuplocation}{dbname2}.bak'
  WITH FORMAT,INIT, NAME =N'{dbname2}',SKIP, NOREWIND, NOUNLOAD,  STATS= 10
END

--Restore Backups on other server
EXEC [server].[utilities].[maint].KillConnections 'dbname';
EXEC [server].[utilities].[maint].RestoreDatabase_{dbname};

--Restore Backups on other server for db_2 etc
IF @BackupType='E' BEGIN
  EXEC [server].[utilities].[maint].KillConnections 'dbname2';
  EXEC [server].[utilities].[maint].RestoreDatabase_{dbname2};
END

END
GO

Yedekleme Veritabanı

backup database screenshot

Veritabanınızı yedeklemek için kodu almak için, SSMS'den kod yazmak en kolay yöntemdir.

Normalde kullanacağınız süreci takip edin ve ardından "Yeni Sorgu Penceresine Komut İşlemi" seçeneğini seçin.

Bu kodu bakım planına kopyalayın.

Yeniden Dizin Veritabanı

Ardından, veritabanımızı yeniden dizine eklemek için bazı kodlar ekleyebiliriz, yine bu, yalnızca sisteme adı söylemeniz gereken bir saklı saklı yordamdır.

Kod çoğaltmasından kaçınmak için, aşağıdaki bağlantıdan bu konuda bilgi edinebilirsiniz.

More: Parçalanmış veritabanı dizinlerini yeniden oluşturma veya yeniden düzenleme saklı yordamı

Bağlantıları Kes

Veritabanında bir geri yükleme işlemi gerçekleştirirken yalnızca bir bağlantıya sahip olabilirsiniz (geri yüklemeyi gerçekleştiren işlem), bu nedenle, geçerli işlemin dışında tüm bağlantıları kapatmak için bir saklı yordam oluşturabiliriz. Bunun için ayrı bir yazı daha oluşturduk.

More: Saklanan Prosedür, seçilen veritabanına yapılan tüm bağlantıları kesmek için

Veritabanını Geri Yükle

Bu kod, SQL Server Management Studio'dan da komut dosyası oluşturulabilir. Bu kodu bir saklı yordama eklerseniz, onu diğer işlemlerden ve hatta diğer sunuculardan gerçekten kolaylıkla arayabilirsiniz. Bunu, daha fazla seçeneği kapsayacak şekilde ayrı bir makaleye taşıdık.

More: Veritabanını Saklı Yordamdan Geri Yükleme

Author

Gavin Clayton
Gavin Clayton
SQL Server ve ASP.NET ile çalışmamı sürdürmek için bir yol olarak Claytabase'i 2010'da kurdum. Bu, Ousia İçerik Yönetim Sisteminin konseptten pazardaki en hızlı CMS'lerden biri haline getirilmesiyle sonuçlandı.
 Google Translate
Google Translate

Was this helpful?

Please note, this commenting system is still in final testing.

Our services

database maintenance | database design | web site design | web site hosting | web site security | cloud services | social media

© 2016 Claytabase Ltd, registered company in the UK 08985867

Quick links

RSS Login ContactCookie PolicySitemap

Find us on social media

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

Get in touch

+441983300796info@claytabase.co.ukGround Floor, Building 1000, Lakeside North Harbour, Western Road, Portsmouth, Hampshire, United Kingdom, PO6 3EZ

Partners and memberships

Ousia logo
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
Ousia CMS Loader