Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Retornar todos os grupos de arquivos para o banco de dados atual no SQL Server


No SQL Server, você pode consultar o sys.filegroups exibição do catálogo do sistema para retornar uma lista de todos os grupos de arquivos do banco de dados atual.

Essa exibição contém uma linha para cada espaço de dados que é um grupo de arquivos. Em outras palavras, seus resultados contêm uma linha por grupo de arquivos.


Exemplo 1 – Usando o banco de dados WideWorldImporters


Aqui está um exemplo para demonstrar. Este exemplo usa o banco de dados de exemplo WideWorldImporters fornecido pela Microsoft.
USE WideWorldImporters;SELECT data_space_id,name,type_descFROM sys.filegroups;

Resultado:
+-----------------+-------------------+------------ -------------------------+| data_space_id | nome | type_desc ||---+-------------------+--------- ------------------------|| 1 | PRINCIPAL | ROWS_FILEGROUP || 2 | DADOS DO USUÁRIO | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP |+-----------------+-------------------+--------- ------------------------+

Exemplo 2 – Alternar bancos de dados


Neste exemplo, mudo para um banco de dados diferente e executo a consulta novamente.
USE Music;SELECT data_space_id,name,type_descFROM sys.filegroups;

Resultado:
+-----------------+---------+----------------+| data_space_id | nome | type_desc ||-----------------+---------+----------------|| 1 | PRINCIPAL | ROWS_FILEGROUP |+-----------------+---------+----------------+ 
Este banco de dados (chamado Música) possui apenas um grupo de arquivos.

Exemplo 3 – Retornar todas as colunas


Nos exemplos anteriores, selecionei colunas específicas para retornar. Neste exemplo, eu uso um asterisco (* ) para devolvê-los todos.
SELECT * FROM sys.filegroups;

Resultado (usando saída vertical):
nome | PRIMARYdata_space_id | 1tipo | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLis_read_only | 0is_autogrow_all_files | 0

Nesse caso, usei a saída vertical para exibir os resultados verticalmente (para que você não seja forçado a rolar horizontalmente).

Exemplo 4 – Incluir o caminho do arquivo


Você pode participar dos sys.database_files view para retornar o caminho do arquivo físico.
SELECTdf.name AS [Nome do arquivo DB], df.size/128 AS [Tamanho do arquivo (MB)], fg.name AS [Nome do grupo de arquivos], df.physical_name AS [Caminho do arquivo]FROM sys.database_files AS dfINNER JOIN sys.filegroups AS fgON df.data_space_id =fg.data_space_id;

Resultado (usando saída vertical):
Nome do arquivo DB | Tamanho do arquivo de música (MB) | 8Nome do Grupo de Arquivos | PRIMARYCaminho do arquivo | /var/opt/mssql/data/Music.mdf

O grupo de arquivos PRIMARY é o grupo de arquivos padrão no qual residem o arquivo de dados e o arquivo de log, a menos que você especifique um grupo de arquivos diferente. Consulte Como adicionar um grupo de arquivos a um banco de dados SQL Server para criar um novo grupo de arquivos.