SQL读取注册表值

最近写一个自动检查SQL Serve安全配置的检查脚本,需要查询注册表,下面是使用SQL查询注册表值的方法.

 

 1 DECLARE @HkeyLocal nvarchar(18)
 2 DECLARE @Instance varchar(100)
 3 DECLARE @MSSqlServerRegPath nvarchar(200)
 4 DECLARE @PortNumber varchar(100)
 5 
 6 --For Named instance 
 7 --SET @Instance ='MSSQL13.SQL01'
 8 SET @Instance ='MSSQL13.MSSQLSERVER'
 9 SET @HkeyLocal=N'HKEY_LOCAL_MACHINE'
10 SET @MSSqlServerRegPath=N'SOFTWARE\Microsoft\\Microsoft SQL Server\'+ @Instance + '\MSSQLServer\SuperSocketNetLib\Tcp\IPAll'
11  
12 Print @MSSqlServerRegPath
13 EXEC xp_instance_regread @HkeyLocal
14 , @MSSqlServerRegPath
15 , N'TcpPort'
16 , @PortNumber OUTPUT
17 SELECT @PortNumber as [Port Number]
18 --OUTPUT
19 
20 
21 
22     • 读取instanceHide在注册表中的值
23 DECLARE @Instance varchar(100)
24 set @Instance='MSSQLServer'
25 DECLARE @MSSqlServerRegPath nvarchar(200)
26 set @MSSqlServerRegPath=N'SOFTWARE\Microsoft\Microsoft SQL Server\'+@Instance+ N'\SuperSocketNetLib'
27 print @MSSqlServerRegPath
28 DECLARE @getValue INT
29 EXEC master..xp_instance_regread
30 @rootkey = N'HKEY_LOCAL_MACHINE',
31 @key=@MSSqlServerRegPath,
32 @value_name = N'HideInstance',
33 @value = @getValue OUTPUT
34 SELECT @getValue as HideInstance
35 
36 
37 ----测试对命名实例读取instanceHide
38 DECLARE @HkeyLocal nvarchar(18)
39 DECLARE @Instance varchar(100)
40 DECLARE @MSSqlServerRegPath nvarchar(200)
41 DECLARE @PortNumber int
42 
43 --For Named instance 
44 --SET @Instance ='MSSQL13.SQL01'
45 SET @Instance ='MSSQL13.MSSQLSERVER'
46 SET @HkeyLocal=N'HKEY_LOCAL_MACHINE'
47 SET @MSSqlServerRegPath=N'SOFTWARE\Microsoft\\Microsoft SQL Server\'+ @Instance + '\MSSQLServer\SuperSocketNetLib'
48  
49 Print @MSSqlServerRegPath
50 EXEC xp_instance_regread @HkeyLocal
51 , @MSSqlServerRegPath
52 , N'HideInstance'
53 , @PortNumber OUTPUT
54 SELECT @PortNumber as [Port Number]
55 --OUTPUT

 

转载于:https://www.cnblogs.com/kala/p/9204396.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值