Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Alle Dateigruppen für die aktuelle Datenbank in SQL Server zurückgeben

In SQL Server können Sie die sys.filegroups abfragen Systemkatalogansicht, um eine Liste aller Dateigruppen für die aktuelle Datenbank zurückzugeben.

Diese Ansicht enthält eine Zeile für jeden Datenbereich, der eine Dateigruppe ist. Mit anderen Worten, Ihre Ergebnisse enthalten eine Zeile pro Dateigruppe.

Beispiel 1 – Verwendung der WideWorldImporters-Datenbank

Hier ist ein Beispiel zur Veranschaulichung. Dieses Beispiel verwendet die von Microsoft bereitgestellte WideWorldImporters-Beispieldatenbank.

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

Ergebnis:

+----+-------------------+-------- -------------------------+| data_space_id | Name | type_desc ||-----------------+-------------------+--------- ------------------------|| 1 | PRIMÄRE | ROWS_FILEGROUP || 2 | BENUTZERDATEN | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+-----------------+--------------------+--------- ------------------------+

Beispiel 2 – Datenbank wechseln

In diesem Beispiel wechsle ich zu einer anderen Datenbank und führe die Abfrage erneut aus.

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

Ergebnis:

+-----------------+---------+----------------+| data_space_id | Name | type_desc ||-----------------+---------+----------------|| 1 | PRIMÄRE | ROWS_FILEGROUP |+-----------------+---------+----------------+ 

Diese Datenbank (Musik genannt) hat nur eine Dateigruppe.

Beispiel 3 – Alle Spalten zurückgeben

In den vorherigen Beispielen habe ich bestimmte Spalten für die Rückgabe ausgewählt. In diesem Beispiel verwende ich ein Sternchen (* ), um sie alle zurückzugeben.

SELECT * FROM sys.filegroups;

Ergebnis (bei vertikaler Ausgabe):

| PRIMARYdata_space_id | 1Typ | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLis_read_only | 0is_autogrow_all_files | 0

In diesem Fall habe ich die vertikale Ausgabe verwendet, um die Ergebnisse vertikal anzuzeigen (damit Sie nicht gezwungen sind, horizontal zu scrollen).

Beispiel 4 – Fügen Sie den Dateipfad hinzu

Sie können den sys.database_files beitreten view, um den physischen Dateipfad zurückzugeben.

SELECTdf.name AS [DB-Dateiname],df.size/128 AS [Dateigröße (MB)],fg.name AS [Dateigruppenname],df.physical_name AS [Dateipfad]FROM sys.database_files AS dfINNER JOIN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;

Ergebnis (bei vertikaler Ausgabe):

DB-Dateiname | Größe der Musikdatei (MB) | 8Name der Dateigruppe | PRIMARYFile Path | /var/opt/mssql/data/Music.mdf

Die PRIMARY-Dateigruppe ist die Standarddateigruppe, in der sich die Datendatei und die Protokolldatei befinden, es sei denn, Sie geben eine andere Dateigruppe an. Siehe So fügen Sie einer SQL Server-Datenbank eine Dateigruppe hinzu, um eine neue Dateigruppe zu erstellen.