Useful Undocumented SQL Server Extended Stored Procedures

xp_regdeletekey
This extended stored procedure will delete an entire key from the registry. You should use it very carefully. The syntax is:

EXECUTE xp_regdeletekey [@rootkey=]’rootkey’, [@key=]’key’ 

For example, to delete the key ‘SOFTWARETest’ from ‘HKEY_LOCAL_MACHINE’, run:

EXEC master..xp_regdeletekey @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARETest’

xp_regdeletevalue
This extended stored procedure will delete a particular value for a key in the registry. You should use it very carefully. The syntax is:

EXECUTE xp_regdeletevalue [@rootkey=]’rootkey’, [@key=]’key’, [@value_name=]’value_name’

For example, to delete the value ‘TestValue’ for the key ‘SOFTWARETest’ from ‘HKEY_LOCAL_MACHINE’, run:

EXEC master..xp_regdeletevalue @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARETest’, @value_name=’TestValue’

xp_regread
This extended stored procedure is used to read from the registry. The syntax is:

EXECUTE xp_regread [@rootkey=]’rootkey’, [@key=]’key’ [, [@value_name=]’value_name’] [, [@value=]@value OUTPUT] 

For example, to read into the variable @test from the value ‘TestValue’ from the key ‘SOFTWARETest’ from the ‘HKEY_LOCAL_MACHINE’, run:

DECLARE @test varchar(20)EXEC master..xp_regread @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARETest’, @value_name=’TestValue’, @value=@test OUTPUTSELECT @test

xp_regwrite
This extended stored procedure is used to write to the registry. The syntax is:

EXECUTE xp_regwrite [@rootkey=]’rootkey’, [@key=]’key’, [@value_name=]’value_name’, [@type=]’type’, [@value=]’value’

For example, to write the variable ‘Test’ to the ‘TestValue’ value, key ‘SOFTWARETest’, ‘HKEY_LOCAL_MACHINE’, run:

EXEC master..xp_regwrite @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARETest’, @value_name=’TestValue’, @type=’REG_SZ’, @value=’Test’

Keep in mind that these undocumented extended stored procedures are not officially supported by Microsoft, and that they may not be found in the next version of SQL Server.

Published with the express written permission of the author. Copyright 2001 Alexander Chigrik.]]>

Leave a comment

Your email address will not be published.