sql server 常用的扩展存储过程
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 常用的扩展存储过程的更多相关文章
- sql server 常用的系统存储过程
系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...
- Sql Server 常用系统存储过程大全
-- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_logi ...
- 如果正确读取SQL Server中的扩展事件?
SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果 ...
- SQL Server技术问题之存储过程与sql语句的优缺点
优点: 1. 允许模块化程序设计.2.可维护性高,只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可独立于程序源代码而单独修改,而不需要更改.测试以及重新部署程序集 ...
- Sql Server 带参数的存储过程执行方法
Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...
- [转] sql server 跨数据库调用存储过程
A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' ...
- SQL SERVER常用语法记录
用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...
- sql Server 常用存储过程的优化
优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会返回相应的影响行数.使用SET NOCOUNT ON ...
- SQL Server常用的几个存储过程
1. sp_helptext 查看一些数据库对象的定义,比如存储过程.函数.试图等. 2. sp_who或者sp_who2 查看SQL Server数据库会话信息.比如是否被阻塞.
随机推荐
- ActiveMQ的集群方案对比及部署
转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...
- BootStrap_04之jQuery插件(导航、轮播)、以及Less
1.列偏移与列排序: ①列偏移:控制列出现的位置,某列偏移后,后序列会随之偏移--只能右偏移: col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,该列可以左(pull)右 ...
- Nginx配置详解
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- JavaScript权威设计--事件处理介绍(简要学习笔记十七)
1.事件相关概念 事件类型:一个用来说明发生什么类型事件的字符串 事件目标:是发生的事件或与之相关的对象. 事件处理程序(事件监听程序):是处理货响应事件的函数. 事件对象:是与特定事件相关并且包含有 ...
- $.extend({},defaults, options) --(初体验三)
1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数.也就是defaults里面的参数. 做法是将一个新的空对象({})做为$.extend的第一个参数, ...
- Oracle RAC 更换存储实验
实验环境准备: RHEL 6.5 + Oracle 11.2.0.4 RAC (2nodes) OCR和Voting Disk使用的是OCR1磁盘组,底层对应3个1G大小的共享LUN,一般冗余: DA ...
- 你真的会玩SQL吗?三范式、数据完整性
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- Grunt学习使用
原文地址:Grunt学习使用必看 grunt简介神马的不多说,到处一大堆. 我只说说我已经实现了的代码. 按照官方的教程 相信已经配置好了,接下来说 package.json 和 Gruntfile. ...
- 使用C#代码生成一个随机的UUID
在日常开发中常见于生成主键的ID,比较规范好用,详细代码如下(写注释是个好习惯): using System;using System.Collections.Generic;using System ...
- 配置IIS的通配符应用程序映射
使用IIS 6架设网站,如果要使用伪静态的功能,可能需要设置“通配符应用程序映射(执行顺序)”. 在Windows Server 2012 r2 的IIS 8中,对应的是添加设置“通配符脚本映射”,参 ...