Data:
-- ***************************************************************************
-- nvarchar(4000) = dbo.fn_SQLServerDataDir()
-- ***************************************************************************
IF OBJECT_ID('SQLServerDataDir_fn','FN') IS NOT NULL
DROP FUNCTION SQLServerDataDir_fn
GO
create function dbo.SQLServerDataDir_fn()
returns nvarchar(4000)
as
begin
declare @rc int,
@dir nvarchar(4000)
exec @rc = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer',N'DefaultData', @dir output, 'no_output'
if (@dir is null)
begin
exec @rc = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\Setup',N'SQLDataRoot', @dir output, 'no_output'
select @dir = @dir + N'\Data'
end
return @dir
end
Log
-- ***************************************************************************
-- nvarchar(4000) = dbo.SQLServerLogDir_fn()
-- ***************************************************************************
IF OBJECT_ID('SQLServerLogDir_fn','FN') IS NOT NULL
DROP FUNCTION SQLServerLogDir_fn
GO
create function dbo.SQLServerLogDir_fn()
returns nvarchar(4000)
as
begin
declare @rc int,
@dir nvarchar(4000)
exec @rc = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer',N'DefaultLog', @dir output, 'no_output'
if (@dir is null)
begin
exec @rc = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\Setup',N'SQLDataRoot', @dir output, 'no_output'
select @dir = @dir + N'\Data'
end
return @dir
end