I SQL Server kan du forespørge på sys.filegroups
systemkatalogvisning for at returnere en liste over alle filgrupper for den aktuelle database.
Denne visning indeholder en række for hvert datarum, der er en filgruppe. Med andre ord indeholder dine resultater én række pr. filgruppe.
Eksempel 1 – Brug af WideWorldImporters-databasen
Her er et eksempel til at demonstrere. Dette eksempel bruger WideWorldImporters-eksempeldatabasen leveret af Microsoft.
BRUG WideWorldImporters;SELECT data_space_id,name,type_descFROM sys.filegroups;
Resultat:
+----------------+------------------------+-------- --------------------------+| data_space_id | navn | type_desc ||----------------+------------------------+-------- ------------------------|| 1 | PRIMÆR | ROWS_FILEGROUP || 2 | BRUGERDATA | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+----------------+-------------------+-------- ------------------------+
Eksempel 2 – Skift database
I dette eksempel skifter jeg til en anden database og kører forespørgslen igen.
USE Music;SELECT data_space_id,name,type_descFROM sys.filegroups;
Resultat:
+----------------+---------+----------------+| data_space_id | navn | type_desc ||----------------+---------+----------------|| 1 | PRIMÆR | ROWS_FILEGROUP |+----------------+--------+----------------+Denne database (kaldet Musik) har kun én filgruppe.
Eksempel 3 – Returner alle kolonner
I de foregående eksempler valgte jeg specifikke kolonner at returnere. I dette eksempel bruger jeg en stjerne (
*
) for at returnere dem alle.VÆLG * FRA sys.filegroups;Resultat (ved hjælp af lodret output):
navn | PRIMARYdata_space_id | 1type | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filgruppe-id | NULLis_read_only | 0is_autogrow_all_files | 0
I dette tilfælde brugte jeg lodret output til at vise resultaterne lodret (så du ikke er tvunget til at rulle vandret).
Eksempel 4 – Inkluder filstien
Du kan tilslutte dig sys.database_files
view for at returnere den fysiske filsti.
SELECTdf.name AS [DB-filnavn],df.size/128 AS [Filstørrelse (MB)],fg.name AS [Filgruppenavn],df.physical_name AS [Filsti]FRA sys.database_files AS dfINNER JOIN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;
Resultat (ved hjælp af lodret output):
DB-filnavn | Musikfilstørrelse (MB) | 8Filgruppenavn | PRIMÆR Filsti | /var/opt/mssql/data/Music.mdf
Den PRIMÆRE filgruppe er standardfilgruppen, som datafilen og logfilen ligger i, medmindre du angiver en anden filgruppe. Se Sådan tilføjer du en filgruppe til en SQL Server-database for at oprette en ny filgruppe.