Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zwróć wszystkie grupy plików dla bieżącej bazy danych w SQL Server

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj TYPE_NAME(), aby uzyskać nazwę typu danych w SQL Server

  2. Różnica między datą i godziną w sqlserver?

  3. Przekazywanie listy<> do procedury składowanej SQL

  4. Co to jest serwer SQL?

  5. Wybierz oświadczenie, aby zwrócić rodzica i nieskończone dzieci