SQL Server中部分未公开的存储过程

1、sp_executeresultset
说明:允许在空闲时通过使用Select查询产生动态SQL代码,然后作为结果的SQL命令将会在数据库上执行。
参数:T-SQL代码
范例:sp_executeresultset 'Select ''Select ''''''+name+'''''',count(*) FROM ''+name from sysobjects where xtype=''U'''

2、sp_MSforeachdb / sp_MSforeachtable
说明:允许你对你的SQL Server上的每一个数据库和当前数据库中的每一个表分别执行T-SQL代码。然而你不能在SQL2000和之前的版本中在一个sp_MSforeachdb命令中使用sp_MSforeachtable命令。在这些存储过程中使用的指针名称是一样的(hCForEach),因此在每一次执行sp_MSforeachtable时会返回一个错误说该指针名称已经在使用。在SQL Server 2005中,微软解决了这一问题。
参数:T-SQL代码
范例:
exec sp_MSforeachtable 'print ''?'''   --打印当前数据库中的每一个表的名称
exec sp_MSforeachdb 'print ''?'''      --打印当前服务器的每一个数据库
exec sp_MSforeachdb 'use [@] exec sp_MSforeachtable ''print , --打印当前数据库的每一个表

3、sp_readerrorlog / xp_readerrorlog
说明:查看日志,sp_readerrorlog调用xp_readerrorlog
参数:四个输入参数,但是只有前两个对我们有用。第一个参数设定你希望看到的文件编号;第二个是要查看的日志(对于ERRORLOG是1或空,对SQL Agent Log是2)。
范例:
exec sp_readerrorlog       --查看当前的SQL ERRORLOG文件。
exec sp_readerrorlog 0, 1
exec sp_readerrorlog 1, 2 --查看之前的SQL Agent Log文件。

4、xp_dirtree
说明:允许你查看文件夹树状结构和/或一个文件夹下的文件列表。
参数:第一个参数设定要查看的文件夹;第二个参数限制了这个存储过程将会进行的递归级数,默认是零或所有级别;第三个参数告诉存储过程包括文件,默认是零或只对文件夹,数值1代表包括结果集的文件。定义第三个参数为不为零的数值将会增加一行到输出的调用文件,这个文件是显示进入一个文件夹或文件的一个小文件。
范例:
exec xp_dirtree 'C:\Windows\'       --获得完整目录树。
exec xp_dirtree 'C:\Windows\', 2    --获得目录树的前两级。
exec xp_dirtree 'C:\Windows\', 3, 1 --获得目录数的前三级,包括文件。

5、xp_fileexist
说明:用来决定一个文件是存在于的硬盘上还是在网络共享上。它对于从规则文档中下载数据的存储过程是非常有用的。它允许你在打算盲目的下载数据之前查看文件是否存在。
参数:第一个参数来确定你想要的文件或文件夹是否存在。第二个参数是一个输出参数,如果它被定义了,会根据文件存在或不存在而返回1或0。
范例:
--没有第二个参数的情况
exec xp_fileexist 'c:\importfile.csv'
--有第二个参数的情况
DECLARE @file_exists int
exec xp_fileexist 'c:\importfile.csv', @file_exists OUTPUT
Select @file_exists

6、xp_fixeddrives
说明:展示了一个列表所有驱动器名和每个驱动器上的空闲空间大小。
参数:按驱动器类型过滤结果。设置为数值3将会返回所有的大量存储设备(CD-ROM,DVD等等);设置为数值4将会返回硬盘驱动器;设置为数值2时将会返回可移动的设备(USB插拔驱动器,闪存驱动器等等)。
范例:
exec xp_fixeddrives    --返回所以驱动器
exec xp_fixeddrives 2 --返回移动设备驱动器

7、xp_getfiledetails
说明:返回关于指定文件的大小、日期和属性信息,包括创建、访问和修改的日期和次数。
参数:文件名字符串
范例:
exec xp_getfiledetails 'c:\filetoload.csv'

8、xp_getnetname
说明:返回Microsoft SQL Server安装所在的物理机器的名称。
参数:你可以使机器名称作为数据集返回或作为变量返回。
范例:
exec xp_getnetname --单独执行
--带输出参数执行
DECLARE @machinename sysname
exec xp_getnetname @machinename OUTPUT
select @machinename

9、xp_loginconfig
说明:返回关于执行它的用户的一些基础的校验信息。
参数:无
范例:
exec xp_loginconfig

10、xp_makecab
说明:允许你指定一列你想压缩的文件还有你想放进去的cab文件。
参数:第一个参数给出到cab文件的路径,这是你想创建和添加文件的地方。第二个参数是压缩级别。如果你想使用详细的日志记录就使用第三个参数。第四个参数后跟着你想压缩的文件的名称。
范例:
exec xp_makecab 'c:\test.cab', 'mszip', 1, 'c:\test.txt' , 'c:\test1.txt'

11、xp_msver
说明:返回关于主机操作系统的大量的信息——SQL版本号、语言、CPU类型、版权和商标信息、Microsoft Windows版本、CPU数和亲和性设置、物理内存设置和你的产品键。
参数:每一个参数都是一个sysname数据类型,它接受一条记录的名称。如果指定了所有的参数,那么只有指定的行作为参数返回。
范例:
exec xp_msver                        --没有指定过滤。
exec xp_msver 'Platform', 'Comments' --只返回Platform和Comments记录。

12、xp_get_mapi_profiles
说明:帮助你配置SQL Mail。执行时,它会通过SQL Server 的SQL Mail组件调用Windows,并且显示在Outlook中配置的可用的MAPI概要列表,并且它指定哪个概要是默认的概要。如果它不显示任何记录,那么或者是Outlook没有配置正确,或者是配置了Outlook概要但SQL Server没有运行在一个域帐户下。
参数:无
范例:
exec xp_get_mapi_profiles

13、xp_subdirs
说明:显示通过xp_dirtree可用的信息的子集。xp_subdirs将会显示给定的文件夹的所有的子文件夹。当你在一个表里动态地构建一个目录树时它是很便利的,并且你不需要担心xp_dirtree存储过程的其它参数。
参数:路径字符串
范例:
exec xp_subdirs 'C:\Windows\'

14、xp_test_mapi_profile
说明:启动然后停止一个MAPI会话来确保MAPI配置正确并工作在Microsoft SQL Server之内。
参数:存储过程接受一个单独的输入参数。这个参数是你要测试的MAPI概要的名称。

15、xp_unpackcab
说明:从cab文件提取文件。
参数:第一个参数是cab文件,第二个参数是你想提取到的路径,第三个参数是详细记录日志。第四个参数使你可以指定“提取到”的文件名称。
范例:
exec xp_unpackcab 'c:\test.cab', 'c:\temp\', 1


上一篇: GHOST删除分区和修复硬盘坏扇区
下一篇: MYSQL常用命令
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭