Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 11725|Yanıt: 0

[Kaynak] SQL SERVER veritabanı küçültme komutları

[Bağlantıyı kopyala]
Yayınlandı 11.02.2015 13:25:53 | | |

1. Kütüğü boşaltın
DÖKÜM IŞLEM kütüphane adını NO_LOG  
2. İşlem günlüğünü kısaltın:
YEDEK GÜNLÜK veritabanı adı WITH NO_LOG
3. Veritabanı dosyalarını küçültün (Sıkıştırmazsanız, veritabanı dosyaları küçülmez.)
Enterprise Manager - Sıkıştırmak istediğiniz veritabanına sağ tıklayın - Tüm Görevler - Veritabanını Küçültme - Dosyayı Küçültme
   --Log dosyasını seçin--Küçültme yönteminde kısaltmayı XXM'e ayarlayın, burada küçültülebilecek minimum M sayı verilecek, bu numarayı doğrudan girin ve onaylayabilirsiniz
   --Veri dosyasını seç--Küçültme yönteminde kısaltmayı XXM'e seç, burada küçültülebilecek minimum M sayı verilecek, bu sayıyı doğrudan girin ve onaylayabilirsiniz
SQL ifadeleriyle de yapılabilir
--Veritabanını küçültme
DBCC SHRINKDATABASE (Müşteri Profili)
--Belirtilen veri dosyasını küçültün, 1 dosya numarasıdır ve bu ifadeyle sorgulanabilir: sysfiles içinden * seç
DBCC SHRINKFILE(1)
4. Log dosyalarının minimize edilmesini en üst düzeye çıkarmak için (SQL 7.0 durumunda bu adım yalnızca sorgu analizöründe yapılabilir)
a. Veritabanlarının Ayrılması:
   Enterprise Manager - Sunucu - Veritabanı - Sağ Tıklama - Veritabanını Ayır
b. Bilgisayarımdaki LOG dosyasını silmek
c. Ek veri tabanları:
   Enterprise Manager - Sunucu - Veritabanı - Sağ Tık - Veritabanı Ekle
Bu yöntem, sadece 500K'dan fazla olan yeni bir LOG üretecektir
Ya da kod kullanın:
Aşağıdaki örnek, pubları ayırır ve ardından publardan mevcut sunucuya bir dosya ekler.
a. Ayrılık
E X E C sp_detach_db @dbname = 'yayınlar'
b. Günlük dosyalarını sil
c. Ek Eklemeler
E X E C sp_attach_single_file_db @dbname = 'yayınlar',
   @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
5. Gelecekte otomatik olarak küçülmek için aşağıdaki ayarları yapın:
Enterprise Manager - Sunucu - Veritabanına sağ tıklayın - Özellikler - Seçenekler - "Otomatik Küçültme" seçeneğini seçin
--SQL ifade ayarı:
E X E C sp_dboption 'veritabanı adı', 'otomatik küçülme', 'GERÇEK'
6. Gelecekte çok büyümesini engellemek istiyorsan
Enterprise Manager - Sunucu - Sağ tıkla Veritabanı - Özellikler - İşlem Günlüğü
   --dosya büyümesini xM ile sınırlayın (x, izin verdiğiniz maksimum veri dosya boyutudur)
--SQL ifade ayarı:
veritabanı veritabanı adını değiştir dosyayı değiştir(name=mantıksal dosya adı,maxsize=20)
Özel Not:
Lütfen adımları takip edin, önceki adımlar olmadan sonraki adımları yapmayın
Aksi takdirde veritabanınıza zarar verebilir.
Genellikle 4. ve 6. adımların yapılması önerilmez
4. adım güvenli değildir ve veritabanına zarar verebilir veya veri kaybı yapabilir
Adım 6 Eğer log üst sınıra ulaşırsa, veritabanı işleme gelecekte başarısız olur ve yalnızca günlük temizlendikten sonra geri getirilebilir.

Ayrıca, daha basit bir yöntem sunuyor, defalarca denedim ve kullanmanı tavsiye ederim.
Daha kolay yol:
   1。 Sağ: Veritabanı Özellikleri penceresi - Failback Modeli - Basit olarak ayarlanmıştır
   2。 Veritabanının tüm görevlerini doğru oluştur - veritabanını küçültme
   3。 Sağ: Veritabanı özellikleri penceresini oluştur - Geri dönüş modeli - Büyük Hacimli Loglama olarak ayarlan




Önceki:SQL, bir tabloyu bir veritabanından başka bir veritabanı tablosuna kopyalıyor
Önümüzdeki:Windows sisteminde HMailServer ücretsiz posta sunucusu oluşturmak kolay
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com