Veritabanını Küçült ile Dosya arasındaki fark nedir?


Yanıtlar:


36

Basitçe ...

  • DBCC ShrinkDatabase(): tüm dosyaları küçült
  • DBCC ShrinkFile(): sadece bir dosya

Örneğin, bir günlük yedekleme sorununuz olabilir ve bu sayede kontrol dışı olarak çalışmaya başlayabilirsiniz DBCC ShrinkFile().

Sen neredeyse hiç kullanmıyorum ShrinkDatabase.

Her iki komutu da kullanmayı düşünmeden önce, lütfen Paul Randal'ın küçülme konusundaki blogunu okuyun .

Net bir neden olmadığı sürece dosyalardan hiçbirini (mdf, ldf) daraltmam. Dosyalar, olması gereken boyuttadır. Düzenli bakımın bir parçası olarak bunu öneren herhangi bir blog muhtemelen SQL Server'ın nasıl çalıştığını anlamamaktadır.


2
Teşekkürler dostum. Haklısın. Brent Ozar'ın blogunu okudum .. kelimenin tam anlamıyla "Veritabanı Dosyalarınızı Küçültmeyi Durdurun. Cidden. Şimdi."

Ve aynı şeyi yaparken, neden farklı argümanlar var?
Stefan Steinegger

2

Varsayılan bir veritabanı iki dosyaya sahiptir.

MyDb.MDF ve MyDb.LDF

MDF dosyası, birincil bölümün bulunduğu veri dosyasıdır. Gereksinimlerinize bağlı olarak, bir veritabanını birden fazla dosyaya bölebilirsiniz. Bu, verilerin (tekli veya çoklu tablolar) daha yüksek bir performans elde etmek için genellikle ayrı sabit sürücülere yerleştirilen birden fazla dosyayı kapsayabileceği şekilde yapılır.

Bir veritabanını daraltırsanız, o veritabanıyla ilişkili tüm dosyalar küçültülür.

Bir dosyayı küçültürseniz, yalnızca seçilen dosya küçültülür.

Sadece Veritabanını Küçült komutunu kullanmanız gerekir. Ancak bunu yapmak genelde iyi bir uygulama değildir ve önerilen bir uygulama değildir.

Sorunun ne olduğunu bize söylerseniz, sorunu nasıl çözeceğiniz konusunda size daha fazla bilgi verebiliriz.


Oh..issue, üretim sunucumuzun disk alanı yetersiz kalıyor. Daha fazla disk eklemek ideal ancak başka ne yapabiliriz diye merak ediyordum?

0

Büyük olasılıkla sadece dbcc shrink dosyasını kullanıyoruz. sp_helpdb 'databasename' bir veritabanındaki veri ve günlük dosyalarının listesini sağlar.

mnagement stüdyosuna sağ tıkladığınızda, görevler-> daralt-> dosya, ne kadarını küçültebileceğinizi sağlar.

Ne daralırsak, boş alan olarak diskte geri çekilebilir.

örneğin: 'databasename' dbcc shrinkfile kullanın (fileid, 100)

burada 100 100 MB

fileid sp_helpdb 'databasename' den alabilirsiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.