TSQL - 在xp_regread中使用变量

时间:2015-07-06 13:04:28

标签: sql-server tsql

我试图从多个实例中获取DefaultLog目录。实例名存储在临时数据库中,我将遍历每一行以获取有关每个实例的数据。 我怎样才能使这个代码工作或有更好的方法? 这只是一个非常小的摘录,但最好地显示了我的问题。如果需要,我也可以发布其余的

DECLARE @tempInstanceName varchar(100);
SET @tempInstanceName = 'TEST';
EXECUTE master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\Microsoft SQL Server\MSSQL11.'+ @tempInstanceName + '\MSSQLServer','DefaultLog';

解决方案:

DECLARE @tempInstanceName varchar(100),
    @REGKEY varchar(100);

SET @tempInstanceName = 'TEST';
SET @REGKEY = 'Software\Microsoft\Microsoft SQL Server\MSSQL11.'+ @tempInstanceName +'\MSSQLServer'

EXECUTE master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', @REGKEY,'DefaultLog';

1 个答案:

答案 0 :(得分:1)

添加

SET @REGKEY = 'Software\Microsoft\Microsoft SQL Server\MSSQL11.'+ @tempInstanceName +'\MSSQLServer'

使用@REGKEY代替工作