Dans SQL Server, vous pouvez interroger les sys.filegroups
vue du catalogue système pour renvoyer une liste de tous les groupes de fichiers pour la base de données actuelle.
Cette vue contient une ligne pour chaque espace de données qui est un groupe de fichiers. En d'autres termes, vos résultats contiennent une ligne par groupe de fichiers.
Exemple 1 – Utilisation de la base de données WideWorldImporters
Voici un exemple à démontrer. Cet exemple utilise l'exemple de base de données WideWorldImporters fourni par Microsoft.
UTILISER WideWorldImporters;SELECT data_space_id,name,type_descFROM sys.filegroups;
Résultat :
+-----------------+-------------------+-------- -------------------------+| data_space_id | nom | type_desc ||-----------------+-------------------+--------- ------------------------|| 1 | PRIMAIRE | LIGNES_FILEGROUP || 2 | DONNÉESUTILISATEUR | LIGNES_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+-----------------+-------------------+--------- ------------------------+
Exemple 2 – Changer de base de données
Dans cet exemple, je passe à une autre base de données et exécute à nouveau la requête.
USE Music ;SELECT data_space_id,name,type_descFROM sys.filegroups ;
Résultat :
+----------------+---------+----------------+| data_space_id | nom | type_desc ||-----------------+---------+----------------|| 1 | PRIMAIRE | ROWS_FILEGROUP |+-----------------+---------+----------------+Cette base de données (appelée Musique) n'a qu'un seul groupe de fichiers.
Exemple 3 - Renvoyer toutes les colonnes
Dans les exemples précédents, j'ai sélectionné des colonnes spécifiques à renvoyer. Dans cet exemple, j'utilise un astérisque (
*
) pour les renvoyer tous.SELECT * FROM sys.filegroups ;Résultat (en utilisant la sortie verticale) :
nom | PRIMARYdata_space_id | 1type | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLest_lecture_seule | 0is_autogrow_all_files | 0Dans ce cas, j'ai utilisé la sortie verticale pour afficher les résultats verticalement (afin que vous ne soyez pas obligé de faire défiler horizontalement).
Exemple 4 - Inclure le chemin du fichier
Vous pouvez joindre les
sys.database_files
view pour renvoyer le chemin physique du fichier.SELECTdf.name AS [nom du fichier DB],df.size/128 AS [taille du fichier (Mo)],fg.name AS [nom du groupe de fichiers],df.physical_name AS [chemin du fichier]FROM sys.database_files AS dfINNER JOIN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;Résultat (en utilisant la sortie verticale) :
Nom du fichier BD | Taille du fichier musical (Mo) | 8Nom du groupe de fichiers | PRIMARYChemin du fichier | /var/opt/mssql/data/Music.mdfLe groupe de fichiers PRIMARY est le groupe de fichiers par défaut dans lequel résident le fichier de données et le fichier journal, sauf si vous spécifiez un groupe de fichiers différent. Voir Comment ajouter un groupe de fichiers à une base de données SQL Server pour créer un nouveau groupe de fichiers.