W SQL Server możesz zapytać o sys.filegroups
widok katalogu systemowego, aby zwrócić listę wszystkich grup plików dla bieżącej bazy danych.
Ten widok zawiera wiersz dla każdego obszaru danych, który jest grupą plików. Innymi słowy, Twoje wyniki zawierają jeden wiersz na grupę plików.
Przykład 1 – Korzystanie z bazy danych WideWorldImporters
Oto przykład do zademonstrowania. W tym przykładzie użyto przykładowej bazy danych WideWorldImporters dostarczonej przez firmę Microsoft.
USE WideWorldImporters; SELECT data_space_id, name, type_desc FROM sys.filegroups;
Wynik:
+-----------------+-------------------+---------------------------------+ | data_space_id | name | type_desc | |-----------------+-------------------+---------------------------------| | 1 | PRIMARY | ROWS_FILEGROUP | | 2 | USERDATA | ROWS_FILEGROUP | | 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP | +-----------------+-------------------+---------------------------------+
Przykład 2 – Przełącz bazy danych
W tym przykładzie przełączam się na inną bazę danych i ponownie uruchamiam zapytanie.
USE Music; SELECT data_space_id, name, type_desc FROM sys.filegroups;
Wynik:
+-----------------+---------+----------------+ | data_space_id | name | type_desc | |-----------------+---------+----------------| | 1 | PRIMARY | ROWS_FILEGROUP | +-----------------+---------+----------------+
Ta baza danych (zwana muzyką) ma tylko jedną grupę plików.
Przykład 3 – Zwróć wszystkie kolumny
W poprzednich przykładach wybrałem konkretne kolumny do zwrócenia. W tym przykładzie używam gwiazdki (*
), aby zwrócić je wszystkie.
SELECT * FROM sys.filegroups;
Wynik (przy użyciu wyjścia pionowego):
name | PRIMARY data_space_id | 1 type | FG type_desc | ROWS_FILEGROUP is_default | 1 is_system | 0 filegroup_guid | NULL log_filegroup_id | NULL is_read_only | 0 is_autogrow_all_files | 0
W tym przypadku użyłem danych wyjściowych w pionie, aby wyświetlić wyniki w pionie (abyś nie musiał przewijać w poziomie).
Przykład 4 – Uwzględnij ścieżkę do pliku
Możesz dołączyć do sys.database_files
widok, aby zwrócić fizyczną ścieżkę pliku.
SELECT df.name AS [DB File Name], df.size/128 AS [File Size (MB)], fg.name AS [File Group Name], df.physical_name AS [File Path] FROM sys.database_files AS df INNER JOIN sys.filegroups AS fg ON df.data_space_id = fg.data_space_id;
Wynik (przy użyciu wyjścia pionowego):
DB File Name | Music File Size (MB) | 8 File Group Name | PRIMARY File Path | /var/opt/mssql/data/Music.mdf
Grupa plików PRIMARY jest domyślną grupą plików, w której znajduje się plik danych i plik dziennika, chyba że określisz inną grupę plików. Zobacz Jak dodać grupę plików do bazy danych SQL Server, aby utworzyć nową grupę plików.