March 3, 2004 at 3:34 am
Hi Gurus,
Is there any func's or SP's to read regisrty.
My Blog:
March 3, 2004 at 3:44 am
xp_regread
xp_regenumkeys
xp_regwrite
xp_regdeletevalue
xp_regdeletekey
I would search for them here or on the net. None of them is documented in BOL for a very good reason.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
March 3, 2004 at 3:57 am
Frank Kallis has given/said the easiest way available which is not known to most since these are undocumented. But u can use the xp_cmdshell and your dos command to do the same as well.
But again...as in other cases u need to have Sysadmin permissions to run these xtended Procs.
Cheers!
Arvind
March 3, 2004 at 3:59 am
How would I do this with DOS commands?
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
March 3, 2004 at 4:03 am
Thankx Frank,
I wonder y they have not doucmented.
I fonund folowing code from the internet
DECLARE @version VARCHAR(100)
EXECUTE master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion',
'CurrentVersion',
@version OUTPUT,
'no_output'
My Blog:
March 3, 2004 at 4:08 am
If you don't mind that it's a german site you can have a look at this here. They also have a sample script. As this is mostly code it shouldn't be hard to follow.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
March 3, 2004 at 4:22 am
See Windows NT Resouce Kit for such tools
March 3, 2004 at 4:22 am
Say for ex, you can use it to export the registry by
xp_cmdshell 'regedit /e registry.txt'
Change and import it back...Just a work around.
Cheers!
Arvind
March 4, 2004 at 2:53 am
you can make a VB program that read from the registery and then use this in SQL
xp_cmdshell "c:\myVbProgram.exe"
Alamir Mohamed
Alamir_mohamed@yahoo.com
March 4, 2004 at 6:57 am
You an these also,
This extended stored procedure will delete an entire key from the registry. You should use it very carefully.
Syntax:
EXECUTE xp_regdeletekey [@rootkey=]'rootkey', [@key=]'key' |
For example, to delete the key 'SOFTWARE\Test' from 'HKEY_LOCAL_MACHINE', run:
EXEC master..xp_regdeletekey @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test' |
This extended stored procedure will delete a particular value for a key in the registry. You should use it very carefully.
Syntax:
EXECUTE xp_regdeletevalue [@rootkey=]'rootkey', [@key=]'key', [@value_name=]'value_name' |
For example, to delete the value 'TestValue' for the key 'SOFTWARE\Test' from 'HKEY_LOCAL_MACHINE', run:
EXEC master..xp_regdeletevalue @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue' |
This extended stored procedure is used to read from the registry.
Syntax:
EXECUTE xp_regread [@rootkey=]'rootkey', [@key=]'key' [, [@value_name=]'value_name'] [, [@value=]@value OUTPUT] |
For example, to read into the variable @test-2 from the value 'TestValue' from the key 'SOFTWARE\Test' from the 'HKEY_LOCAL_MACHINE', run:
DECLARE @test varchar(20)EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue', @value=@test OUTPUTSELECT @test |
This extended stored procedure is used to write to the registry.
Syntax:
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 'SOFTWARE\Test', 'HKEY_LOCAL_MACHINE', run:
EXEC master..xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue', @type='REG_SZ', @value='Test' |
Regards,
Prashant Thakwanithakwani_prashant@yahoo.co.in
March 4, 2004 at 7:02 am
You missed this one xp_regenumkeys
Or am I blind?
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
February 9, 2006 at 2:19 pm
Any idea who may execute them?
I can see that by default PUBLIC has execute permission on xp_regread but what about the rest? When executed from SQL Server what account actually read/write the registry? i.e. is the SQL sever domain account or proxy account or individual login that tries to execute? Because I guess that no matter who executes it from T-SQL it all depends of who actually gets access to the registry and what rights he/she has.
Because they are undocumented I cannot get any information about who can run them.
And something else: any problem if they are completly removed (i.e. deleted from master database)? I think I read somewhere about removing them, but I can't recall where and what.
Any answer will be highly appreaciated.
Gabriela
Viewing 12 posts - 1 through 11 (of 11 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy