Obtener la ruta del mdf y ldf en una variable

Espero me pueda resolver
Como le podría hacer para que al crear una base de datos la ruta donde me guarde los mdf y el ldf, sea en base en donde se guardan los mdf y ldf de las bases creadas por los usuarios (no las de sistema).
hasta ahora he hecho el siguiente select
declare @Path nvarchar (250)
select @Path = filename from master..sysdatabases
where name not in ('master','tempdb','model','msdb')
lo cual me arroja el siguiente resultado
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AdminHarbinter.mdf
lo que yo quisiera que se guardara en la variable @path es solo esto
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\
En el managmet studio al dar clic derecho sobre el servidor en propiedades me aparece en database setting las rutas del data y el log
¿Existe algún comando para obtenerlas y poder guardarlas en una variable en este caso @Path
Respuesta
1
Puedes utilizar el comando sp_helpfile dentro de cada base de datos, pero lo mejor seria que consultes :
select    *
From sysdatabases
Ya había considerado esa posibilidad, lo que buscaba era obtener los valores por default
Lo pego por si a alguien le sirve, seria de la siguiente forma:
exec @RET = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer',N'DefaultData', @PATHDATOS output--, 'no_output'
exec @RET = master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer',N'DefaultLog', @PATHLOG output--, 'no_output'
Muchísimas gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas