DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Veritabanını küçültmek için her iki DBCC komutunu da çalıştırmam gerekir mi?
- Bu ikisinin arasındaki fark nedir?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Yanıtlar:
Basitçe ...
DBCC ShrinkDatabase()
: tüm dosyaları küçültDBCC 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.
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.
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