I SQL Server kan du fråga sys.filegroups
systemkatalogvy för att returnera en lista över alla filgrupper för den aktuella databasen.
Den här vyn innehåller en rad för varje datautrymme som är en filgrupp. Med andra ord innehåller dina resultat en rad per filgrupp.
Exempel 1 – Använda WideWorldImporters-databasen
Här är ett exempel att visa. Det här exemplet använder WideWorldImporters exempeldatabas från Microsoft.
ANVÄND WideWorldImporters;SELECT data_space_id,name,type_descFROM sys.filegroups;
Resultat:
+----------------+------------------------+-------- --------------------------+| data_space_id | namn | typ_desc ||----------------+------------------------+-------- ------------------------|| 1 | PRIMÄR | ROWS_FILEGROUP || 2 | ANVÄNDARDATA | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+----------------+-------------------+-------- ------------------------+
Exempel 2 – Byt databas
I det här exemplet byter jag till en annan databas och kör frågan igen.
ANVÄND musik;SELECT data_space_id,name,type_descFROM sys.filegroups;
Resultat:
+----------------+---------+----------------+| data_space_id | namn | typ_desc ||----------------+---------+----------------|| 1 | PRIMÄR | ROWS_FILEGROUP |+----------------+--------+----------------+Denna databas (kallad Musik) har bara en filgrupp.
Exempel 3 – Returnera alla kolumner
I de tidigare exemplen valde jag specifika kolumner att returnera. I det här exemplet använder jag en asterisk (
*
) för att returnera dem alla.VÄLJ * FRÅN sys.filegroups;Resultat (med vertikal utdata):
namn | PRIMARYdata_space_id | 1typ | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLis_read_only | 0is_autogrow_all_files | 0
I det här fallet använde jag vertikal utdata för att visa resultaten vertikalt (så att du inte tvingas rulla horisontellt).
Exempel 4 – Inkludera filsökvägen
Du kan gå med i sys.database_files
view för att returnera den fysiska filsökvägen.
SELECTdf.name AS [DB-filnamn],df.size/128 AS [Filstorlek (MB)],fg.name AS [Filgruppsnamn],df.physical_name AS [Filsökväg]FRÅN sys.database_files AS dfINNER JOIN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;
Resultat (med vertikal utdata):
DB-filnamn | Musikfilstorlek (MB) | 8Filgruppsnamn | PRIMÄRFilsökväg | /var/opt/mssql/data/Music.mdf
Den PRIMÄRA filgruppen är standardfilgruppen som datafilen och loggfilen finns i, om du inte anger en annan filgrupp. Se Hur man lägger till en filgrupp till en SQL Server-databas för att skapa en ny filgrupp.