Bir veritabanı daraltma
Bu konuda nesnesini kullanarak bir veritabanı daraltma açıklar SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL.
Veri dosyalarını daraltma, sayfa veri dosyasının sonuna ön dosya boş alan yakın taşıyarak alanı kurtarır. Yeterli boş alan dosya sonunda oluşturulduğunda, sayfa dosyasının sonunda olabilir veri kaldırıldı ve dosya sistemine geri döndü.
Bu Konuda
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
Öneriler
Güvenlik
Bir veritabanı daraltma kullanarak:
SQL Server Management Studio
Transact-SQL
Takip: bir veritabanı daraltma
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
Veritabanı veritabanı en küçük boyuttan daha küçük yapılamaz. En küçük boyut, belirtilen veritabanı özgün olarak oluşturulduğu veya son açık boyutunu dbcc SHRINKFILE gibi bir dosya boyutu değiştirme işlemini kullanarak ayarlarken boyutudur. Veritabanının büyüklüğü 10 mb ile oluşturulan ve 100 mb olarak büyüdü, veritabanındaki tüm veriler silindi bile, veritabanı için azaltılabilir küçük 10 mb boyutudur.
Veritabanı yedekleniyor ise bir veritabanı daraltma olamaz. Diğer taraftan, veritabanında bir küçültme işlemi işleminde çalışırken bir veritabanını yedekleyemezsiniz.
Columnstore dizin karşılaştığında dbcc SHRINKDATABASE başarısız olur. Böylece veritabanını daha küçük olabilir columnstore dizin karşılaşmak önce tamamlanan çalışma başarılı olur. dbcc SHRINKDATABASE tamamlamak için dbcc SHRINKDATABASE çalıştırmadan önce tüm columnstore dizinler devre dışı bırakma ve columnstore dizinler yeniden oluşturma.
Öneriler
Veritabanındaki geçerli ücretsiz (ayrılmamış alan miktarı kadar) görüntülemek için. Daha fazla bilgi için bkz.Verileri ve veritabanı için günlük alanı bilgileri görüntüleme
Bir veritabanı daraltma planlarken aşağıdaki bilgileri göz önüne alın:
Küçültme işlemi en iyi sonucu çok miktarda kullanılmayan alan oluşturan bir işlemden; örneğin bir tablonun kısaltılmasından veya bırakılmasından sonra verir.
Çoğu veritabanı, günlük işlemler için bir miktar boş alanın kullanılabilmesini gerektirir. Bir veritabanını tekrar tekrar küçültüp veritabanı boyutunun tekrar büyüdüğünü görürseniz, bu, küçültülen alanın olağan işlemler için gerekli olduğunu gösterir. Bu durumlarda veritabanını tekrar tekrar küçültmek boşa giden bir işlemdir.
Küçültme işlemi, veritabanındaki dizinlerin parçalanma durumunu korumaz ve genel olarak parçalanmayı biraz artırır. Bu, veritabanını tekrar tekrar küçültmemek için bir başka nedendir.
Belirli bir gereksinim yoksa AUTO_SHRINK veritabanı seçeneği on olarak ayarlamayın.
Güvenlik
İzinler
Üyelik sysadmin sabit sunucu rolü veya db_owner veritabanı rolü.
[Top]
SQL Server Management Studio Kullanarak
Bir veritabanı daraltma
İçinde Object Explorer, örneğine bağlanmak SQL Server Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanlarıve çekmek istediğiniz veritabanını sağ tıklatın.
Gelin görevleri, Gelin çekmekve ardından veritabanı.
Veritabanı
Seçili veritabanı adını görüntüler.Geçerli alan tahsis
Seçilen veritabanı için toplam kullanılan ve kullanılmayan alanı görüntüler.Kullanılabilir boş alan
Toplam boş alan, seçili veritabanı günlük ve veri dosyaları görüntüler.Kullanılmayan boşluk bırakmadan önce dosyaları yeniden düzenleme
Bu seçeneği seçmek için yürütme dbcc SHRINKDATABASE hedef yüzde seçeneği belirtme. Bu seçeneğin temizlenmesi için yürütme dbcc SHRINKDATABASE'i truncateonly seçeneğiyle. İletişim kutusu açıldığında varsayılan olarak, bu seçenek seçili değildir. Bu seçenek seçili ise, kullanıcı hedef yüzde seçeneğini belirtmeniz gerekir.Dosyaları daralma sonra en fazla boş alan
Veritabanı shrunk sonra veritabanı dosyalarında bırakılmaması için boş alan yüzdesini girin. 0 İle 99 arasında izin verilen değerlerdir.
Click OK.
[Top]
Transact-SQL'i Kullanma
Bir veritabanı daraltma
Bağlanmak Veritabanı Altyapısı.
Standart çubuğundan tıklatın Yeni sorgu.
Kopyalama ve aşağıdaki örnek sorgu penceresine yapıştırın ve tıkırtı Execute. Bu örnek kullanır dbcc SHRINKDATABASE azalması için veri ve günlük boyutunu dosyalar UserDBveritabanı için izin veren ve 10yüzde boş alan veritabanı.
DBCC SHRINKDATABASE (UserDB, 10);
GO
[Top]
İzleme: sonra bir veritabanı daraltma
Bir dosyayı daraltmak için taşınan veri dosyasında kullanılabilen herhangi bir yere dağılmış. Bu dizin parçalanma neden olur ve bir dizi dizini arama sorguları performansını yavaşlatabilir. Bölünmeyi daralma sonra dosyayı dizinler yeniden oluşturuluyor düşünün.
[Top]
Ayrıca bkz.
Başvuru
sys.database_files (Transact-sql)
DBCC SHRINKFILE (Transact-SQL)