Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Det här avsnittet beskriver hur du använder Transact-SQL för att verifiera att en SQL Server-databasfil är en gles fil och för att ta reda på dess faktiska och maximala storlekar. Glesa filer, som är en funktion i NTFS-filsystemet, används av SQL Server-databassnapshots.
Notis
När du skapar en ögonblicksbild av databasen skapas glesa filer med hjälp av filnamnen i INSTRUKTIONEN SKAPA DATABAS. Dessa filnamn lagras i sys.master_files i kolumnen physical_name. I sys.database_files (oavsett om det är i källdatabasen eller i en ögonblicksbild) innehåller kolumnen physical_name alltid namnen på källdatabasfilerna.
Kontrollera att en databasfil är en sparse-fil
På instansen av SQL Server:
Välj kolumnen is_sparse från antingen sys.database_files i databasögonblicksbilden eller från sys.master_files. Värdet anger om filen är en gles fil enligt följande:
1 = Filen är en gles fil.
0 = Filen är inte en gles fil.
Ta reda på den faktiska storleken på en sparse-fil
Not
Glesa filer växer i steg om 64 kilobyte (KB). Därför är storleken på en gles fil på disk alltid en multipel på 64 KB.
Om du vill visa antalet byte som varje gles fil i en ögonblicksbild för närvarande använder på disken frågar du kolumnen size_on_disk_bytes i SQL Server sys.dm_io_virtual_file_stats dynamisk hanteringsvy.
Om du vill visa diskutrymmet som används av en gles fil högerklickar du på filen i Microsoft Windows, klickar på Egenskaperoch tittar på värdet Storlek på disken.
Ta reda på den maximala storleken på en sparse-fil
Den maximala storleken som en glesfil kan växa till är storleken på den motsvarande källdatabasfilen vid tidpunkten för ögonblicksbildens skapande. Om du vill lära dig den här storleken kan du använda något av följande alternativ:
Användning av kommandotolken i Windows:
Använd kommandon för Windows dir.
Välj den glesa filen, öppna dialogrutan Egenskaper i Windows och titta på värdet Storlek.
På instansen av SQL Server:
Välj storlekskolumnen från antingen sys.database_files i databasögonblicksbilden eller från sys.master_files. Värdet för storlek kolumn återspeglar det maximala utrymmet på SQL-sidor som ögonblicksbilden någonsin kan använda. Det här värdet motsvarar fältet Windows Size, förutom att det representeras när det gäller antalet SQL-sidor i filen. storleken i byte är:
( antal_sidor * 8192)
Exempel
Följande skript visar storleken på disken i kilobyte för varje sparse-fil. Skriptet visar också den maximala storleken i megabyte som en gles fil kan växa till. Kör skriptet Transact-SQL i 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;
Se även
Databasögonblicksbilder (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)