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

Como especificar a localização de arquivos de dados e arquivos de log ao criar um banco de dados no SQL Server


A maneira mais simples de criar um banco de dados no SQL Server é usar CREATE DATABASE my_database sem especificar mais nada. Ao fazer isso, os arquivos de dados e de log são criados no local padrão (veja como encontrar o local padrão).

No entanto, às vezes você pode querer que os arquivos de dados e de log residam em um local diferente. Se for esse o caso, use o exemplo de código a seguir para declarar explicitamente sua própria localização para os arquivos de dados e arquivos de log do banco de dados.
USE master;
GO
CREATE DATABASE Solutions
ON
( NAME = Solutions_dat,  
    FILENAME = 'D:\mssql\data\Solutionsdat.mdf',
    SIZE = 10MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 5MB )  
LOG ON
( NAME = Solutions_log,  
    FILENAME = 'D:\mssql\data\Solutionslog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB );
GO

Esse exemplo usa convenções de caminho do Windows (começa com uma letra de unidade e usa uma barra invertida).



Abaixo está um exemplo para sistemas Linux e Mac:
USE master;
GO
CREATE DATABASE Solutions
ON
( NAME = Solutions_dat,  
    FILENAME = '/var/opt/mssql/data/Solutionsdat.mdf',
    SIZE = 10MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 5MB )  
LOG ON
( NAME = Solutions_log,  
    FILENAME = '/var/opt/mssql/data/Solutionslog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB );
GO

O .mdf file é o arquivo de dados e o .ldf file é o arquivo de log de transações. Especificamos o tamanho de cada arquivo, bem como seu tamanho máximo e seu crescimento de arquivo. FILEGROWTH especifica o incremento de crescimento automático do arquivo (a quantidade de espaço adicionada ao arquivo sempre que um novo espaço é necessário).
  • FILESIZE pode ser especificado em KB, MB, GB ou TB.
  • MAXSIZE pode ser especificado em KB, MB, GB, TB ou ILIMITADO.
  • FILEGROWTH pode ser especificado em KB, MB, GB, TB ou %.

O padrão é KB (para kilobytes).