Hi,
Is there a SQL stored procedure or command to retrieve the server's default path for data and transaction log files?
Thanks.
Part of the Profiler trace created by opening the New Database dialog:
declare @.RegPathParams sysname
declare @.Arg sysname
declare @.Param sysname
declare @.MasterPath nvarchar(512)
declare @.LogPath nvarchar(512)
declare @.ErrorLogPath nvarchar(512)
declare @.n int
select @.n=0
select @.RegPathParams=N'Software\Microsoft\MSSQLServer\MSSQLServer'+'\Parameters'
select @.Param='dummy'
while(not @.Param is null)
begin
select @.Param=null
select @.Arg='SqlArg'+convert(nvarchar,@.n)
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', @.RegPathParams, @.Arg, @.Param OUTPUT
if(@.Param like '-d%')
begin
select @.Param=substring(@.Param, 3, 255)
select @.MasterPath=substring(@.Param, 1, len(@.Param) - charindex('\', reverse(@.Param)))
end
else if(@.Param like '-l%')
begin
select @.Param=substring(@.Param, 3, 255)
select @.LogPath=substring(@.Param, 1, len(@.Param) - charindex('\', reverse(@.Param)))
end
else if(@.Param like '-e%')
begin
select @.Param=substring(@.Param, 3, 255)
select @.ErrorLogPath=substring(@.Param, 1, len(@.Param) - charindex('\', reverse(@.Param)))
end
select @.n=@.n+1
end
SELECT
@.MasterPath AS [MasterDBPath],
@.LogPath AS [MasterDBLogPath]
No comments:
Post a Comment