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

Como adicionar um grupo de arquivos a um banco de dados SQL Server (T-SQL)


No mínimo, um banco de dados SQL Server tem dois arquivos de sistema operacional; o arquivo de dados e o arquivo de log.

O arquivo de dados contém os dados reais no banco de dados, bem como objetos como tabelas, índices, procedimentos armazenados e exibições. O arquivo de log contém as informações necessárias para recuperar todas as transações no banco de dados.

Quando você cria um banco de dados usando as opções padrão, esses dois arquivos são criados. Esses arquivos são criados no grupo de arquivos primário. Este grupo de arquivos contém o arquivo de dados primário e quaisquer arquivos secundários que não são colocados em outros grupos de arquivos. Portanto, o grupo de arquivos primário é o grupo de arquivos padrão (a menos que seja alterado usando o ALTER DATABASE demonstração).

Ao criar vários arquivos de dados, você também tem a opção de agrupá-los em um grupo de arquivos definido pelo usuário. Isso permite agrupar arquivos logicamente em seu próprio grupo de arquivos que você criou. Esse grupo de arquivos existirá além do grupo de arquivos primário. Os objetos de banco de dados permanecerão dentro do grupo de arquivos primário.

Este artigo demonstra como criar um grupo de arquivos definido pelo usuário e adicionar alguns arquivos de dados a ele.


Exemplo


Aqui está um exemplo de uso do T-SQL para adicionar um grupo de arquivos a um banco de dados existente:
USE master
GO

ALTER DATABASE Solutions  
ADD FILEGROUP Solutions1Filegroup1;  
GO  
ALTER DATABASE Solutions   
ADD FILE   
(  
    NAME = Solutions_dat_2,  
    FILENAME = 'D:\mssql\data\Solutions_dat2.ndf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5%  
),  
(  
    NAME = Solutions_dat_3,  
    FILENAME = 'D:\mssql\data\Solutions_dat3.ndf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5% 
)  
TO FILEGROUP Solutions1Filegroup1;  
GO

Este exemplo cria um grupo de arquivos chamado Solutions1Filegroup1 e adiciona dois arquivos de dados a ele. Especificamos as coisas usuais para cada arquivo, como seu nome lógico, caminho físico do arquivo, tamanho, etc.

A suposição com este exemplo é que já existe um arquivo de dados chamado Solutions_dat_1 . Portanto, nomeamos esses arquivos da mesma forma, mas apenas incrementamos o número para cada arquivo.

Além disso, neste exemplo, nomeamos o grupo de arquivos como se fosse apenas um entre muitos. Podemos criar vários grupos de arquivos, se necessário, e, se o fizermos, provavelmente desejaremos uma convenção de nomenclatura que facilite a distinção entre cada grupo de arquivos.

Visualizar os grupos de arquivos


Você pode visualizar os grupos de arquivos de um determinado banco de dados consultando o sys.filegroups visualização do catálogo.

Exemplo:
USE Solutions;
SELECT name, type_desc
FROM sys.filegroups;

Resultado:
name                  type_desc     
--------------------  --------------
PRIMARY               ROWS_FILEGROUP
Solutions1Filegroup1  ROWS_FILEGROUP

Você também pode usar um asterisco (*) para retornar todas as linhas, se necessário.