2015-07-10

Registry'den Database Default Location Değerlerini T-SQL İle Okuma

SQL Server ile ilgili tutulan registry kayıtlarının değerini sunucuya bağlanmaya gerek kalmadan xp_instance_regread  extended stored procedure ile okuyabilirsiniz.



Örnek-1: Registry'den Database Default Data Location(veritabanı data dosyalarının oluşturulacağı dizin) bilgisini okuma:

declare @value nvarchar(4000)

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', @value output

select @value DefaultDataDir

Benzer şekilde şu anki geçerli veritabanı data dosyalarının oluşturlacağı dizini ağıdaki T-SQL ile alabilirsiniz:

select SERVERPROPERTY('instancedefaultdatapath') AS [DefaultFile]

 
Örnek-2: Registry'den Database Default Log Location(veritabanı log dosyalarının oluşturulacağı dizin) bilgisini okuma:

declare @value nvarchar(4000)

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', @value output

select @value DefaultLogDir


Benzer şekilde şu anki geçerli veritabanı logdosyalarının oluşturlacağı dizini ağıdaki T-SQL ile alabilirsiniz:
 
select SERVERPROPERTY('instancedefaultlogpath') AS [DefaultLog]

Not: SERVERPROPERTY('instancedefaultdatapath') ve  SERVERPROPERTY('instancedefaultlogpath')  değerlerini SQL Server 2012 ile birlikte geldi. Dolayısıyla bu değerler SQL server 2012 öncesi sürümlerde NULL olarak döner. Scriptler SQL Server 2008/2012/2014/2016 sürümlerinde test edildi. 

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2016 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.