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ü.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Bir veritabanı daraltma

  1. İçinde Object Explorer, örneğine bağlanmak SQL Server Veritabanı Altyapısıve bu örneği genişletin.

  2. Genişletme veritabanlarıve çekmek istediğiniz veritabanını sağ tıklatın.

  3. 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.

  4. Click OK.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Bir veritabanı daraltma

  1. Bağlanmak Veritabanı Altyapısı.

  2. Standart çubuğundan tıklatın Yeni sorgu.

  3. 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

Başa Dön bağlantısıyla kullanılan ok simgesi[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.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Başvuru

sys.Databases (Transact-sql)

sys.database_files (Transact-sql)

DBCC (Transact-sql)

DBCC SHRINKFILE (Transact-SQL)

Kavramlar

Dosya daraltma

Diğer Kaynaklar

Physical Database Files and Filegroups