你的位置:首页 > 软件开发 > 数据库 > sql server 常用的扩展存储过程

sql server 常用的扩展存储过程

发布时间:2016-08-08 18:01:00
sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发。今天分享介绍一些常用的数据库扩展存储过程 xp_cmdshell 这个大家都比较熟悉了,使用xp_cmdshell 可以在连接sql server 的时候可以执行doc 命令最简单一个例子EX ...

sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发。今天分享介绍一些常用的数据库扩展存储过程

 

xp_cmdshell 

这个大家都比较熟悉了,使用xp_cmdshell 可以在连接sql server 的时候可以执行doc 命令

最简单一个例子EXEC master.sys.xp_cmdshell 'dir D:\' 获取D 盘下面的目录。当然这个D:\ 是服务器上面的,不是本地电脑的。

所以有时候可以使用 xp_cmdshell 配合作业都角度使用执行bcp等命令来导入导出数据,也是很方便的。

但是使用的过程中,有下面几点留意一下

1 首次使用的时候,需要使用 EXEC sys.sp_configure @configname = 'xp_cmdshell',@configvalue = 1 来启用xp_cmdshell ,默认情况下,sql server 是禁用本功能的

2 可以使用 no_output 来忽略输出结果。

3 注意权限问题,注意非管理员账号的用户使用xp_cmdshell 。

 

xp_logininfo

这个返回的是服务器windows 用户和windows 组的信息

msdn上面写着这个存储过程具有3个参数 @acctname ,@option ,@privilege 

燃鹅不知道是我测试的问题还是本身这个存储过程只有1个参数,@option 和 @privilege 传入进去都是无效的。

使用方法

 EXEC master.sys.xp_logininfo

 或者 EXEC master.sys.xp_logininfo @acctname = 'GINLATOP\Gin' 加上个账号名还是ok的

 

xp_msver

这个是返回服务器的版本消息。

调用方法可以使用 

EXEC master..xp_msver 

或者 EXEC master..xp_msver 'ProductName' --这个可以是上面的结果集返回的任意一个Name 的值,假如找不到,就会返回空结果集

 

xp_sprintf

这个扩展存储过程看起来就有点像入门写C语言的printf 函数了。燃鹅即时这样,我认为其实用到它的机会并不多。大部分使用的场景如下

DECLARE @i VARCHAR(20) = 1,

原标题:sql server 常用的扩展存储过程

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。