sql >> Database teknologi >  >> RDS >> Sqlserver

Returner alle filgrupper for den aktuelle database i SQL Server

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.


  1. Sammenligning af høj tilgængelighed af databaser - MySQL / MariaDB-replikering vs Oracle Data Guard

  2. Omdøb sikkert tabeller ved hjælp af serielle primærnøglekolonner

  3. Topfejl at undgå i MySQL-replikering

  4. Udvid EM Grid Control til nye noder