sqlserver注冊(cè)表操作相關(guān)的幾個(gè)未公開(kāi)過(guò)程

字號(hào):

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’, -- 根, 注冊(cè)表固定有下面幾個(gè)
     -- HKEY_CLASSES_ROOT
     -- HKEY_CURRENT_USER
     -- HKEY_LOCAL_MACHINE
     -- HKEY_USERS
     ’SYSTEM’ -- 子鍵, 如果為 NULL, 表示列出根下面的第1層子鍵
    -- 2. 枚舉所有的鍵值及數(shù)據(jù)
    xp_regenumvalues
     ’HKEY_LOCAL_MACHINE’, -- 根, 注冊(cè)表固定有下面幾個(gè)
     -- HKEY_CLASSES_ROOT
     -- HKEY_CURRENT_USER
     -- HKEY_LOCAL_MACHINE
     -- HKEY_USERS
     ’SYSTEM’ -- 子鍵, 如果為 NULL, 表示列出根下面的第1層子鍵
     -- 每個(gè)鍵值為一個(gè)結(jié)果集, 注意, 一般的鍵值有兩列, 有的鍵值有多列
    -- 3. 讀取鍵值
    DECLARE @re varchar(8000)
    EXEC xp_regread
     ’HKEY_CLASSES_ROOT’, -- 根, 注冊(cè)表固定有下面幾個(gè)
     -- HKEY_CLASSES_ROOT
     -- HKEY_CURRENT_USER
     -- HKEY_LOCAL_MACHINE
     -- HKEY_USERS
     ’*’, -- 子鍵, 如果為 NULL, 表示列出根下面的第1層子鍵
     ’QuickTip’, -- 鍵值, 如果只指定前面兩項(xiàng), 則用于判斷某個(gè) Key 是否存在
     @re OUT -- 保存結(jié)果的變量, 如果不指定, 則輸出為結(jié)果集
    SELECT @re