SQL Server里一些未公开的扩展存储过程

SQL Server里一些未公开的扩展存储过程

[转帖] 博客天地 www.inbaidu.com

SQL Server里一些未公开的扩展存储过程

扩展存储过程(xp)是直接运行在SQL Server地址空间里的动态链接库,是通过使用SQL Server开放数据服务API(SQL Server Open Data Services API)开发的。我们可以像执行普通存储过程一样,在“查询分析器”里运行扩展存储过程。扩展存储过程被用于SQL Server的扩展功能,我们可以直接利用SQL Server附带的众多扩展存储过程,也可以用C或C++等编程语言编写我们自己的扩展存储过程。
在本文中,我将告诉大家一些未公开的有用的扩展存储过程。这些存储过程可以运行于SQL Server 7.0,当然SQL Server 2000也可以。

1、sp_MSgetversion
这个扩展存储过程可以用来获得Microsoft SQL Server的当前版本。要获得SQL Server的版本,执行:
EXEC master..sp_MSgetversion
注意,还有一种方法获得SQL Server的当前版本(这种方法能得到更多信息),那就是用下面的SELECT语句:
SELECT @@version

2、xp_dirtree
这个扩展存储过程可以用于为在扩展存储(xp)中命名的文件夹列出所有文件夹。要列出C:\MSSQL7中的所有文件夹,执行:
EXEC master..xp_dirtree 'C:\MSSQL7'

3、xp_enum_oledb_providers
这个扩展存储过程用于列出所有可用的OLE DB提供者(OLE DB providers)。它返回提供者的名称、解析名称(Parse Name)和提供者的描述。要获得你的SQL Server的所有OLE DB提供者,执行:
EXEC master..xp_enum_oledb_providers

4、xp_enumcodepages
这个扩展存储过程可以用来列出所有你的SQL Server的代码页(code pages)、字符集和它们的描述。要查看这些信息,执行:
EXEC master..xp_enumcodepages

5、xp_enumdsn
这个扩展存储过程系统所有的DSN和它们的描述。要查看系统DSN,执行:
EXEC master..xp_enumdsn

6、xp_enumerrorlogs
这个扩展存储过程返回所有错误日志的列表和它们的最后更改日期。要获得错误日志列表,执行:
EXEC master..xp_enumerrorlogs

7、xp_enumgroups
这个扩展存储过程返回Windows NT组及其描述的列表。要获得Windows NT组的列表,运行:
EXEC master..xp_enumgroups

8、xp_fileexist
我们可以用这个扩展存储过程来确定一个特定的文件是否在磁盘上存在。用法:
EXECUTE xp_fileexist filename [, file_exists INT OUTPUT]
比如要检查C:盘是否存在boot.ini文件,执行:
EXEC master..xp_fileexist 'c:\boot.ini'

9、xp_fixeddrives
这是一个非常有用的扩展存储过程,他返回所有硬盘和它们的空闲空间有多少MB的列表。要查看驱动器列表,执行:
EXEC master..xp_fixeddrives

10、xp_getnetname
这个扩展存储过程返回你连接的SQL Server的WINS名。查看这个名称,执行:
EXEC master..xp_getnetname

11、xp_readerrorlog
这个扩展存储过程返回错误日志的内容。我们可以在SQL Server 7.0的默认目录C:\MSSQL7\Log里找到错误日志。要查看错误日志的话,执行:
EXEC master..xp_readerrorlog

12、xp_regdeletekey
这个扩展存储过程将从注册表里删除一个主键。用这个功能的时候务必小心!用法:
EXECUTE xp_regdeletekey [@rootkey=]'rootkey',
                        [@key=]'key'
比如要删除“HKEY_LOCAL_MACHINE”中的“SOFTWARE\Test”这个主键,执行:
EXEC master..xp_regdeletekey @rootkey='HKEY_LOCAL_MACHINE',
                             @key='SOFTWARE\Test'

13、xp_regdeletevalue
这个扩展存储过程将删除注册表里某个特定的键值。用这个功能的时候务必小心!用法:
EXECUTE xp_regdeletevalue [@rootkey=]'rootkey',
                          [@key=]'key',
                          [@value_name=]'value_name'
比如,从“HKEY_LOCAL_MACHINE”中删除“SOFTWARE\Test”下的“Testvalue”,执行:
EXEC master..xp_regdeletevalue @rootkey='HKEY_LOCAL_MACHINE',
                               @key='SOFTWARE\Test',
                               @value_name='Testvalue'

14、xp_regread
这个扩展存储过程从注册表里度数据。用法:
EXECUTE xp_regread [@rootkey=]'rootkey',
                   [@key=]'key'
                   [, [@value_name=]'value_name']
                   [, [@value=]@value OUTPUT]
比如要把“HKEY_LOCAL_MACHINE”中“SOFTWARE\Test”下的“Testvalue”读到变量@test,执行:
DECLARE @test varchar(20)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
                        @key='SOFTWARE\Test',
                        @value_name='Testvalue',
                        @value=@test OUTPUT
SELECT @test

15、xp_regwrite
这个扩展存储过程用来写注册表。用法:
EXECUTE xp_regwrite [@rootkey=]'rootkey',
                    [@key=]'key',
                    [@value_name=]'value_name',
                    [@type=]'type',
                    [@value=]'value'
比如把变量“Test”写到“HKEY_LOCAL_MACHINE”中“SOFTWARE\Test”下的“Testvalue”,执行:
EXEC master..xp_regwrite
     @rootkey='HKEY_LOCAL_MACHINE',
     @key='SOFTWARE\Test',
     @value_name='Testvalue',
     @type='REG_SZ',
     @value='Test'

16、xp_subdirs
这个扩展存储过程用于为在扩展存储(xp)中命名的文件夹列出文件夹列表。比之于xp_dirtree,xp_subdirs只返回那些深度为1(depth = 1)的文件夹。这里是例子:
EXEC master..xp_subdirs 'C:\MSSQL7'

注意:记住这些未公开的扩展存储过程不是Microsoft官方支持的,并且它们可能在下一个版本的SQL Server中无法找到。

转载于:https://www.cnblogs.com/sczw-maqing/p/3193121.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux技巧:一次删除一百万个文件最快方法

昨天,我看到一个非常有趣的删除一个目录下的海量文件的方法。这个方法来自http://www.quora.com/How-can-someone-rapidly-delete-400-000-files里的Zhenyu Lee。 他没有使用find 或 xargs,他很有创意的利用了rsync的强大功能,使用rsync –de…

install python_python install on windows 10

图 1官网2、下载安装包:图 2 Downloads – windows图 3选择版本图 4选择离线安装版本图 5保存下载文件—文件名自己可以修改可能有人看到windows 几个版本,对几个版本有迷惑的地方,解释图 6几个版本的差异说明文字解释:An e…

iOS开发常见错误

错误1: 1.1这种错误都是storyboard有问题 解决:当前storyboard的Custom Class是MJViewController,代码中MJViewController继承自UITableViewController。 而storyboard目前提供的是UIViewController,并没有为MJViewController提供…

windows bat 批处理 !vm 合并快播文件

今天简单的写了一个bat批处理文件 用来处理快播的p2p的文件,一般回事这样的目录 你可以下载如下代码 echo off for /r %%a in (.) do (echo %%acd %%acopy /b *.!mv test.rmvb ) pause保存为merge.bat,就可以执行了 代码解释: 扫描该目录下的…

sso接口的调用

之前一直想sso接口已经写好了&#xff0c;登录注册功能是怎么调用的呢&#xff1f;原来在登录注册的jsp页面实现的接口的调用&#xff0c;页面的校验和验证功能在jsp页面即可实现。 注册页面&#xff1a; <% page language"java" contentType"text/html; cha…

java js获取css方法_5种JavaScript和CSS交互的方法

原标题&#xff1a;5种JavaScript和CSS交互的方法随着浏览器不断的升级改进&#xff0c;CSS和Java之间的界限越来越模糊。本来它们是负责着完全不同的功能&#xff0c;但最终&#xff0c;它们都属于网页前端技术&#xff0c;它们需要相互密切的合作。我们的网页中都有.js文件和…

(转)Http协议经典详解

转自&#xff1a;http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议&#xff0c;由于其简捷、快速的方式&#xff0c;适用于分布式超媒体信息系统。它于1990…

CentOS 同步时间

来源&#xff1a;http://www.ctusky.com/16/0497/ 用date查看系统当前时间&#xff0c;date -R 可查看时区。 CentOS 同步时间由ntp服务提供&#xff0c;可以用"yum install ntp -y"安装. 装完后运行命令 ntpdate cn.pool.ntp.org同步时间&#xff0c;然后hwclock -w…

[逆向][Writeup]ISG2015 flagfinder - .NET程序逆向

这个题目同样是一道.NET的逆向题&#xff0c;.NET的逆向方法在之前的博文中已经介绍过&#xff0c;这里不做重复的说明。本题的源程序可以在我的github上下载&#xff1a;https://github.com/gsharpsh00ter/reverse 0x01 逆向 flagfinder为.NET编译的PE文件&#xff0c;用dnSpy…

spring是如何管理 事务的

Spring提供的事务管理可以分为两类&#xff1a;编程式的和声明式的。编程式的&#xff0c;比较灵活&#xff0c;但是代码量大&#xff0c;存在重复的代码比较多&#xff1b;声明式的比编程式的更灵活方便。 1、传统使用JDBC的事务管理 以往使用JDBC进行数据操作&#xff0c;使用…

java 编译原理 字符串_Java编译原理(javac)

Java中的编译分为两个部分&#xff1a;源码文件编译成字节码文件(前端编译)字节码文件被虚拟机加载以后编译成机器码(后端编译)对于开发来说接触的一般都是第一个步骤也就是源码编译成字节码文件(class文件)&#xff0c;第二个步骤开发几乎不会接触&#xff0c;因为这是虚拟机在…

sql2012一段时间无法连接报53错误

2019独角兽企业重金招聘Python工程师标准>>> 解决方案 在sqlserver网络配置下的msqlserver协议下改将ip3改成如下图所示 转载于:https://my.oschina.net/u/2511906/blog/840373

ICE第三篇------一些疑难点

1 间接代理 参考http://blog.sina.com.cn/s/blog_53e8499c0100lkoo.html IceGrid用于支持分布式网络服务应用&#xff0c;一个IceGrid域由一个注册表&#xff08;Registry&#xff09;和任何数目的节点(Node)构成。注册表&#xff08;Registry&#xff09;和节点(Node)一起合作…

windows phone 8 使用页面传对象的方式 实现页面间的多值传递

在做windows phone 开发的时候&#xff0c;会经常碰到页面间之间的跳转和传递数据&#xff0c;如果传递的值不多&#xff0c;只有两三个&#xff0c;我们通常使用NavigationService.Navigate(new Uri("页面名? Name“”&ID“ ”, UriKind.Relative)); 要是碰到要传递…

php生成图片验证码代码,PHP生成图片验证码以及点击切换的代码

这篇文章主要介绍了PHP生成图片验证码实例,同时介绍了点击切换(看不清&#xff1f;换一张)效果实现方法,需要的朋友可以参考下这里来看下效果:现在让我们来看下 PHP 代码<?php session_start();function random($len) {$srcstr "1a2s3d4f5g6hj8k9qwertyupzxcvbnm&quo…

python 时间日期处理

refer to : http://www.wklken.me/posts/2015/03/03/python-base-datetime.html#datetime-string http://www.cnblogs.com/65702708/archive/2011/04/17/2018936.html http://www.runoob.com/python/python-date-time.html 转载于:https://www.cnblogs.com/qingyuanjushi/p/640…

php 字符型转变为数值,php怎么把字符串转换为数值?

php怎么把字符串转换为数值&#xff1f;下面本篇文章给大家介绍一下PHP把字符串转换为数值的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。PHP中的字符串可以很容易地转换成数值(float / int / double类型)。在大多数用例中&am…

解决rspec 生成报告时报utf-8错误的方法

找到gems\1.9.1\gems\rspec-core-2.14.3\lib\rspec\core\formatters\snippet_extractor.rb文件中的第27行&#xff1a; 在这边记录一下&#xff0c;防止以后再遇到。。。出现这个原因是因为ruby文件用utf-8格式的&#xff0c;但是源码都是GBK处理的&#xff0c;找到\lib\ruby\…

aspose.words复制插入同一word文档中的某个页面

选择word模板 Document doc new Document(Server.MapPath("~\\templet") "\\" name.Name);doc.MailMerge.CleanupOptions doc.MailMerge.CleanupOptions & ~MailMergeCleanupOptions.RemoveUnusedRegions;DocumentBuilder builder new DocumentBu…

开源游戏服务器C#

https://github.com/ScutGame/Scut/wiki转载于:https://www.cnblogs.com/porter/p/6408955.html