sql >> Database >  >> RDS >> Sqlserver

Retourneer alle bestandsgroepen voor de huidige database in SQL Server

In SQL Server kunt u de sys.filegroups . opvragen systeemcatalogusweergave om een ​​lijst van alle bestandsgroepen voor de huidige database te retourneren.

Deze weergave bevat een rij voor elke gegevensruimte die een bestandsgroep is. Met andere woorden, uw resultaten bevatten één rij per bestandsgroep.

Voorbeeld 1 – De WideWorldImporters-database gebruiken

Hier is een voorbeeld om te demonstreren. In dit voorbeeld wordt de WideWorldImporters-voorbeelddatabase gebruikt die door Microsoft wordt geleverd.

GEBRUIK WideWorldImporters;SELECT data_space_id,name,type_descFROM sys.filegroups;

Resultaat:

+-----------------+-------------------+-------- -------------------------+| data_space_id | naam | type_desc ||-----------------+-------------------+--------- ------------------------|| 1 | PRIMAIRE | ROWS_FILEGROUP || 2 | GEBRUIKERSGEGEVENS | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+----------------+-------------------+--------- ------------------------+

Voorbeeld 2 – Van database wisselen

In dit voorbeeld schakel ik over naar een andere database en voer ik de query opnieuw uit.

USE Music;SELECT data_space_id,name,type_descFROM sys.filegroups;

Resultaat:

+-----------------+---------+----------------+| data_space_id | naam | type_desc ||-----------------+---------+----------------|| 1 | PRIMAIRE | ROWS_FILEGROUP |+-----------------+---------+----------------+

Deze database (genaamd Muziek) heeft maar één bestandsgroep.

Voorbeeld 3 – Alle kolommen retourneren

In de vorige voorbeelden heb ik specifieke kolommen geselecteerd om terug te keren. In dit voorbeeld gebruik ik een asterisk (* ) om ze allemaal terug te sturen.

SELECTEER * UIT sys.filegroups;

Resultaat (met verticale uitvoer):

naam | PRIMARYdata_space_id | 1type | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLis_read_only | 0is_autogrow_all_files | 0

In dit geval heb ik verticale uitvoer gebruikt om de resultaten verticaal weer te geven (zodat je niet gedwongen bent om horizontaal te scrollen).

Voorbeeld 4 – Voeg het bestandspad toe

U kunt deelnemen aan de sys.database_files bekijken om het fysieke bestandspad terug te geven.

SELECTdf.name AS [DB-bestandsnaam],df.size/128 AS [Bestandsgrootte (MB)],fg.name AS [Bestandsgroepsnaam],df.physical_name AS [Bestandspad]FROM sys.database_files AS dfINNER WORD LID VAN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;

Resultaat (met verticale uitvoer):

DB-bestandsnaam | Muziekbestandsgrootte (MB) | 8Bestandsgroepsnaam | PRIMAIRBestandspad | /var/opt/mssql/data/Music.mdf

De PRIMAIRE bestandsgroep is de standaard bestandsgroep waarin het gegevensbestand en het logbestand zich bevinden, tenzij u een andere bestandsgroep opgeeft. Zie Een bestandsgroep toevoegen aan een SQL Server-database om een ​​nieuwe bestandsgroep te maken.


  1. SQL Server Error 109:Er zijn meer kolommen in de INSERT-instructie dan de waarden die zijn opgegeven in de VALUES-clausule

  2. Genereer SQL om de primaire sleutel bij te werken

  3. MySQL Storage Engine-optimalisatie:InnoDB-optimalisatie configureren voor hoge prestaties

  4. Bepaal de rijgrootte voor de tabel