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,
@j varchar(50) = 'ajofen',
@s VARCHAR(80)

EXEC master..xp_sprintf @s OUTPUT,'there are two varaint one is %s and another is %s ',@i,@j
PRINT @s

坑爹的是,这个存储过程的参数只支持字符型的……并且如果这样搞的话,使用 +来拼接字符串也ok了,所以也只是介绍一下╮(╯_╰)╭

xp_sscanf

这个扩展存储过程是对插入的字符串变量进行格式化取值。

DECLARE @i VARHAR(50) = 1,
@j varchar(50) ,
@s VARCHAR(80)

EXEC master..xp_sscanf '3 + 31 = 34','%s + %s =34',@i OUTPUT,@s OUTPUT
SELECT @i,@j,@s

好,本次分享在这里结束了。下次看看再找一下。或者大家补充一下

sql server 常用的扩展存储过程的更多相关文章

  1. sql server 常用的系统存储过程

      系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...

  2. Sql Server 常用系统存储过程大全

    -- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_logi ...

  3. 如果正确读取SQL Server中的扩展事件?

        SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果 ...

  4. SQL Server技术问题之存储过程与sql语句的优缺点

    优点: 1. 允许模块化程序设计.2.可维护性高,只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可独立于程序源代码而单独修改,而不需要更改.测试以及重新部署程序集 ...

  5. Sql Server 带参数的存储过程执行方法

    Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...

  6. [转] sql server 跨数据库调用存储过程

    A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' ...

  7. SQL SERVER常用语法记录

    用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...

  8. sql Server 常用存储过程的优化

    优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会返回相应的影响行数.使用SET NOCOUNT ON ...

  9. SQL Server常用的几个存储过程

    1. sp_helptext 查看一些数据库对象的定义,比如存储过程.函数.试图等. 2. sp_who或者sp_who2 查看SQL Server数据库会话信息.比如是否被阻塞.

随机推荐

  1. 【PRINCE2是什么】PRINCE2认证之七大原则(7)

    我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁 第七个原则:根据项目环境剪裁 PRINCE2的价值在于它是一个通用的项目管理方 ...

  2. Oracle数据库Job的下次执行时间老是变动问题

    job的 interval设置为 sysdate+1 结果好多客户的这个时间最后会变的乱起八糟, 或是 导入 , 或是手动执行了等等, 还有自动会变的, 而且不少, 觉得莫名其妙, , 今天网上搜了下 ...

  3. 我为NET狂群福利:逆天常用的一些谷歌浏览器插件

    逆天书库:http://www.cnblogs.com/dunitian/p/5734677.html 常用工具:http://www.cnblogs.com/dunitian/p/5640147.h ...

  4. TokuDB存储引擎

    TokuDB是Tokutek公司开发的基于ft-index(Fractal Tree Index)键值对的存储引擎. 它使用索引加快查询速度,具有高扩展性,并支持hot scheme modifica ...

  5. 11gRAC报错CRS-4535, CRS-4000解决

    环境:AIX6.1 + Oracle11.2.0.4 RAC(2 nodes) 1.故障现象 2.定位问题 3.处理问题 1.故障现象 使用crsctl查看集群各资源状态,在任一节点都会直接报错CRS ...

  6. Linux特殊符号浅谈

    Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...

  7. C# 视频编辑

    VidCoder VidCoder是一个开源免费的DVD/蓝光视频抓取和转码软件.使用HandBrake做为编码引擎.比Handbrake拥有更友好的用户界面. 可裁剪.剪切.字幕编辑.转码等. 官网 ...

  8. C#开发微信门户及应用(25)-微信企业号的客户端管理功能

    我们知道,微信公众号和企业号都提供了一个官方的Web后台,方便我们对微信账号的配置,以及相关数据的管理功能,对于微信企业号来说,有通讯录中的组织架构管理.标签管理.人员管理.以及消息的发送等功能,其中 ...

  9. PDO运用

  10. Oracle SQL性能优化

    (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table) ...