Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, SQL Server veritabanı dosyasının seyrek bir dosya olduğunu doğrulamak ve gerçek ve en büyük boyutlarını bulmak için Transact-SQL nasıl kullanılacağı açıklanmaktadır. NTFS dosya sisteminin bir özelliği olan seyrek dosyalar, SQL Server veritabanı anlık görüntüleri tarafından kullanılır.
Note
Veritabanı anlık görüntüsü oluşturulurken, CREATE DATABASE deyimindeki dosya adları kullanılarak seyrek dosyalar oluşturulur. Bu dosya adları physical_name sütunundaki sys.master_files depolanır. sys.database_files(kaynak veritabanında veya anlık görüntüde) physical_name sütunu her zaman kaynak veritabanı dosyalarının adlarını içerir.
Veritabanı Dosyasının Seyrek Dosya olduğunu doğrulama
SQL Server örneğinde:
is_sparse sütununu, veritabanı anlık görüntüsündeki sys.database_files görünümünden veya sys.master_files görünümünden seçin. değeri, dosyanın seyrek bir dosya olup olmadığını aşağıdaki gibi gösterir:
1 = Dosya seyrek bir dosyadır.
0 = Dosya seyrek bir dosya değildir.
Seyrek Dosyanın Gerçek Boyutunu Bulma
Note
Seyrek dosyalar 64 kilobaytlık (KB) artışlarla büyür; bu nedenle, disk üzerindeki seyrek bir dosyanın boyutu her zaman 64 KB'ın katıdır.
Bir anlık görüntüye ait her seyrek dosyanın diskte şu anda kullandığı bayt sayısını görüntülemek için, SQL Server'ın sys.dm_io_virtual_file_stats dinamik yönetim görünümündeki size_on_disk_bytes sütununu sorgulayın.
Seyrek bir dosya tarafından kullanılan disk alanını görüntülemek için, Microsoft Windows'da dosyaya sağ tıklayın, Özellikler'e tıklayın ve Disk üzerindeki boyut değerine bakın.
Seyrek Dosya Boyutu Üst Sınırını Bulma
Bir seyrek dosyanın büyüyebileceği en büyük boyut, anlık görüntü oluşturulduğu sırada ilgili kaynak veritabanı dosyasının boyutudur. Bu boyutu öğrenmek için aşağıdaki alternatiflerden birini kullanabilirsiniz:
Windows Komut İstemi'ni kullanma:
Windows dir komutlarını kullanın.
Seyrek dosyayı seçin, Windows dosya Özellikleri iletişim kutusunu açın ve Boyut değerine bakın.
SQL Server örneğinde:
boyut sütununu, veritabanı anlık görüntüsündeki sys.database_files görünümünden veya sys.master_files görünümünden seçin. Boyut sütununun değeri, SQL sayfalarında anlık görüntünün kullanabileceği maksimum alanı yansıtır; bu değer Windows Boyutu alanına eşdeğerdir, ancak dosyadaki SQL sayfalarının sayısıyla temsil edilir; bayt cinsinden boyut:
( number_of_pages * 8192)
Example
Aşağıdaki betik, diskteki boyutu her seyrek dosya için kilobayt cinsinden gösterir. Betik, seyrek bir dosyanın büyüyebileceği megabayt cinsinden maksimum boyutu da gösterir. Transact-SQL betiğini SQL Server Management Studio yürütür.
SELECT DB_NAME(sd.source_database_id) AS [SourceDatabase],
sd.name AS [Snapshot],
mf.name AS [Filename],
size_on_disk_bytes/1024 AS [size_on_disk (KB)],
mf2.size/128 AS [MaximumSize (MB)]
FROM sys.master_files mf
JOIN sys.databases sd
ON mf.database_id = sd.database_id
JOIN sys.master_files mf2
ON sd.source_database_id = mf2.database_id
AND mf.file_id = mf2.file_id
CROSS APPLY sys.dm_io_virtual_file_stats(sd.database_id, mf.file_id)
WHERE mf.is_sparse = 1
AND mf2.is_sparse = 0
ORDER BY 1;
Ayrıca Bkz.
Veritabanı Anlık Görüntüleri (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)