Localização Padrão dos Arquivos dos Bancos de Dados do SQL Server

Olá pessoal!
Hoje vamos falar um pouco sobre o padrão de localização de arquivos dos bancos de dados e como no passar dos anos nós focamos em soluções complexas, automações, alta disponibilidade, tuning etc.

Nossa recomendação é que esta parametrização seja feita durante o processo de instalação do SQL Server, uma vez que, o caminho de armazenamento seja em unidades diferentes do padrão da instalação do mesmo.

Ops! Não defini o diretório durante a instalação. O que devo fazer?

É possível alterar.
Somente há o inconveniente de que é preciso reiniciar o serviço do SQL Server.


O motivo é porque o parâmetro fica armazenado no registry do Windows, e mesmo que seu sistema operacional não seja o Windows, os dados são carregados pelo serviço na inicialização dele.

A definição do local padrão para os arquivos de dados, logs e backup através do SSMS que pode ser acessada pelo menu do botão direito sobre a instância, propertiesdatabase settings.

Se você quiser utilizar o t-sql para confirmar esta informação basta utilizar o comando:

 

No entanto, se fizermos a troca do diretório default, todos os novos bancos de dados criados receberão esse novo padrão. Troquei na minha instância conforme a imagem abaixo:

 

Vale ressaltar, que se você utilizar a query anterior para verificar os diretórios padrões, irá notar que nada mudou. Novamente, isso é uma característica de sistema. Ele só assumirá os novos padrões depois de reiniciar a instância.

Caso você esteja utilizando o SQL Server em um Windows Core e está sem acesso ao SSMS, ou ainda, desenvolvendo um processo de automação para deploy de diversas instâncias, é interessante saber que o SQL Server guarda estas informações de diretório padrão em chaves do registro do sistema.

Mais precisamente em:


“Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQLServer\DefaultData” para os arquivos de dados, DefaultLog para os arquivos de log e BackupDirectory para backup.

Em caso de acesso remoto ao servidor do SQL Server é possível com uma conexão ssh validar e até definir o valor utilizando o PowerShell.
Nos scripts abaixo, exemplifico como receber o valor da propriedade e definir um novo valor:

“Get-ItemProperty -Path ‘HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQLServer\’ -Name DefaultData”

OU

“Set-ItemProperty -Path ‘HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQLServer\’ -Name DefaultData -Value ‘d:\data’”

Conhecer a localização dos arquivos de bancos de dados SQL Server é fundamental, especialmente quando há muitos servidores que são administrados diariamente pelo DBA.

Por hoje era isso pessoal, espero que tenham gostado.

Até o próximo post!

 

Por Rodrigo Crespi

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Artigos Recentes

Alta Disponibilidade De Postgres No Azure

Fale Conosco

Converse com nossos especialistas e descubra como transformar seus dados em informações seguras, disponíveis e acessíveis.

Endereço

Rua Angelo Antonello, 93 – Sala 62, Centro – Farroupilha/RS – CEP: 95170-492

Contato Comercial

Email: [email protected]
Telefone: (54) 3401-1471

Abrir bate-papo
Olá
Podemos ajudar?