Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Toto téma popisuje, jak pomocí Transact-SQL ověřit, že je soubor databáze SQL Serveru zhuštěný a jak zjistit jeho skutečnou a maximální velikost. Řídké soubory, které jsou funkcí systému souborů NTFS, používají snímky databáze SQL Serveru.
Poznámka
Během vytváření snímku databáze se řídké soubory vytvářejí pomocí názvů souborů v příkazu CREATE DATABASE. Tyto názvy souborů jsou uloženy v sys.master_files ve sloupci physical_name. Ve sys.database_files (ať už ve zdrojové databázi nebo snímku) sloupec physical_name vždy obsahuje názvy zdrojových souborů databáze.
Ověření, že soubor databáze je zhuštěný soubor
Na instanci SQL Serveru:
Vyberte sloupec is_sparse buď ze sys.database_files ve snímku databáze, nebo ze sys.master_files. Hodnota určuje, zda je soubor řídkým souborem, následujícím způsobem:
1 = Soubor je zhuštěný soubor.
0 = Soubor není zhuštěný soubor.
Zjištění skutečné velikosti řídkého souboru
Poznámka
Zhuštěné soubory rostou o 64 kilobajtů (KB) přírůstky; velikost zhuštěného souboru na disku je tedy vždy násobkem 64 kB.
Pokud chcete zobrazit počet bajtů, které jednotlivé řídké soubory snímku aktuálně používají na disku, zadejte dotaz na sloupec size_on_disk_bytes zobrazení dynamické správy SQL Serveru sys.dm_io_virtual_file_stats.
Pokud chcete zobrazit místo na disku používané řídkým souborem, klikněte pravým tlačítkem myši na soubor v systému Microsoft Windows, klikněte na Vlastnostia podívejte se na hodnotu Velikost na disku.
Zjištění maximální velikosti zhuštěného souboru
Maximální velikost, do které může řídký soubor vyrůst, odpovídá velikosti zdrojového souboru databáze v době vytvoření snímku. Pokud chcete zjistit tuto velikost, můžete použít jednu z následujících alternativ:
Pomocí příkazového řádku systému Windows:
Použijte příkazy Windows dir.
Vyberte řídký soubor, otevřete dialogové okno Vlastnosti v systému Windows a podívejte se na hodnotu velikosti Velikost.
Na instanci SQL Serveru:
Vyberte sloupec velikosti buď z sys.database_files ve snímku databáze nebo z sys.master_files. Hodnota velikosti sloupci odráží maximální prostor na stránkách SQL, který může snímek kdykoli použít; tato hodnota je ekvivalentní poli Windows Size s tím rozdílem, že je reprezentována z hlediska počtu stránek SQL v souboru; velikost v bajtech je:
( počet_stránek * 8192)
Příklad
Následující skript zobrazí velikost disku v kilobajtech pro každý řídký soubor. Skript také zobrazí maximální velikost v megabajtech, na které může růst řídký soubor. Spusťte skript Transact-SQL v aplikaci SQL Server Management Studio.
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;
Viz také
Snímky databáze (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)