sqlserver注册表操作相关的几个未公开过程

今天看到邹老大回贴,所以记下来。

 

 

DECLARE @test varchar(20)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
  @key='SOFTWARE/Test',
  @value_name='TestValue',
  @value=@test OUTPUT
SELECT @test

 

 

 

-- 1. 枚举所有的 Keys
xp_instance_regenumkeys   
   
'HKEY_LOCAL_MACHINE',   -- 根, 注册表固定有下面几个
                                     -- HKEY_CLASSES_ROOT
                                     -- HKEY_CURRENT_USER
                                     -- HKEY_LOCAL_MACHINE
                                     -- HKEY_USERS
    'SYSTEM'                -- 子键, 如果为 NULL, 表示列出根下面的第1层子键


-- 2. 枚举所有的键值及数据
xp_regenumvalues
   
'HKEY_LOCAL_MACHINE',   -- 根, 注册表固定有下面几个
                                     -- HKEY_CLASSES_ROOT
                                     -- HKEY_CURRENT_USER
                                     -- HKEY_LOCAL_MACHINE
                                     -- HKEY_USERS
    'SYSTEM'                -- 子键, 如果为 NULL, 表示列出根下面的第1层子键

   
-- 每个键值为一个结果集, 注意, 一般的键值有两列, 有的键值有多列

-- 3. 读取键值
DECLARE @re varchar(8000)
EXEC xp_regread
   
'HKEY_CLASSES_ROOT',   -- 根, 注册表固定有下面几个
                                     -- HKEY_CLASSES_ROOT
                                     -- HKEY_CURRENT_USER
                                     -- HKEY_LOCAL_MACHINE
                                     -- HKEY_USERS
    '*',                   -- 子键, 如果为 NULL, 表示列出根下面的第1层子键
    'QuickTip',            -- 键值, 如果只指定前面两项, 则用于判断某个 Key 是否存在
    @re OUT                -- 保存结果的变量, 如果不指定, 则输出为结果集
SELECT @re

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值