DONANIM / YAZILIM SQL Server Database Shrink (Veritabanı Boyut Küçültmek) Yazar: Rıfat Yalçın Yayın Tarihi: 18 Mayıs 2017 5 Dakikada Okunabilir 2 Paylaş Facebook Paylaş Twitter Paylaş Google+ Paylaş Reddit Paylaş Pinterest Paylaş Linkedin Paylaş Tumblr SQL Server Database Shrink (Veritabanı Boyut Küçültmek) SQL Server içerisinde veriler “.mdf” ve “.ldf” uzantılı dosyalarda tutulmaktadır. Bu dosyaların boyutu veri girişi çoğaldıkça artmaktadır. Kısıtlı disk alanında yer kalmadığı zaman shrink işlemi yapılmaktadır. Database Shrink yani veritabanı küçültme işlemi 2 şekilde yapılabilir. T-SQL ile yapılabildiği gibi SQL Server Management Studio üzerinden de shrink işlemi yapılabilmektedir. KOD Kullanarak; T-SQL ile shrink işlemini aşağıdaki örnek kodlar ile başlatabilirsiniz; Database‘i Shrink etmek için; USE [Databaseismi] GO DBCC SHRINKDATABASE(N'Databaseismi') GO .mdf Dosyasını Shrink etmek için; USE [Databaseismi] GO DBCC SHRINKFILE (N'Databaseismi_Data' , 0, TRUNCATEONLY) GO Log Dosyasını Shrink etmek için; USE [Databaseismi] GO DBCC SHRINKFILE (N'Databaseismi_Log' , 0, TRUNCATEONLY) GO Server Management Studio ile; SQL Server Management Studio üzerinden Database Shrink işlemide aşağıdaki gibi yapılabilir. SQL Server Management Studio‘da sol taraftaki Object Explorer‘da shrink edeceğimiz database’e sağ tıklayıp Tasks/Shrink/Database‘e tıklıyoruz. Shrink Database Açılan Shrink Database penceresinden Database’i shrink edebilirsiniz. Bu pencerede yer alan bölümler; Currently allocated space bölümünde database ve log dosyalarının toplam boyutu görüntülenmektedir. Available free space bölümünde database ve log dosyalarındaki kullanılmayan toplam alan görüntülenmektedir. Maximum free space in files after shrinking bölümünde shrink işleminden sonra ne kadar boş yer kalacağını yüzde olarak belirtebilirsiniz. Shrink Database File Shrink işlemini yine Database’e sağ tıklayarak Tasks/Shrink/Files‘a tıklıyoruz. Shrink File Açılan Shrink File penceresinden Database dosyalarını shrink edebilirsiniz. Shrink File Bu işlemi 3 farklı şekilde yapabilirsiniz. 1- Release unused space seçeneği ile. Bu seçenek data ve log dosyalarında kullanılmayan alanlar işletim sistemine bırakılır. 2-Reorganize pages before releasing unused space seçeneği ile. Bu seçeneği seçtiğinizde alt bölümdeki Shrink to file seçeneğinden shrink edeceğiniz dosyanın kaç mb’a kadar küçültülmesini belirtebilirsiniz. Data dosyaları minimum 2 MB, log dosyaları ise minimum 1 MB’a kadar küçültülebilir. 3-Empty file by migrating the data to other files in the same filegroup seçeneği ile. Bu işlemde seçilen dosyadaki bütün veri, aynı dosya grubundaki diğer dosyalara taşınacaktır. Bunun için shrink edilecek dosya ile aynı dosya grubunda başka data dosyalarının da oluşturulması gerekmektedir. Veritabanına sağ tıklayıp Properties/Files‘a tıklayın. Aşağıdaki resimde görüldüğü gibi Alt bölümde bulunan Add butonuna tıklayarak dosya grubuna yeni bir data dosyası oluşturun. Eklediğiniz bu dosya “.ndf” uzantılı ve Secondary data files dosyasıdır. Secondary data files dosyaları, çok büyük veritabanlarında datayı, birden fazla diske yayarak query/sorgulama performanslarını artırmak için kullanılır. Secondary Data Files Faydalı olması dileğiyle Konuyla ilgili Eleştiri, İtiraz yada bilginiz var ise lütfen aşağıdaki yorum bölümünde paylaşmaktan çekinmeyin!