sql 中的常用存储过程

存储过程

XP_CMDSHELL "dir"  --执行DOS命令dir

解释:执行DOS命令,就是在XP_CMDSHELL "输入DOS命令";

EXEC sp_addlogin golder, golder  --添加SQL用户

解释:EXEC sp_addlogin 用户名,密码;

exec sp_droplogin 'golder'  --删除SQL用户golder

解释:exec sp_droplogin '删除的用户名';

exec sp_addsrvrolemember 'golder', sysadmin   --添加用户到SQL管理员

解释:exec sp_addsrvrolemember '添加的用户名', sysadmin
sysadmin为管理员权限;

exec sp_dropsrvrolemember 'golder', sysadmin  --删除SQL管理员权限

解释:exec sp_dropsrvrolemember '删除管理员权限的用户名', sysadmin

EXEC sp_password NULL, 'golder','golder'  --更改SQL登陆密码

解释:EXEC sp_password '原来的密码(如果密码为空,就写NULL)', '更改后的密码','更改密码的用户名';

if exists (select * from
dbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]') and
OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'
GO    --去除SQL上的XP_CMDSHELL权限

xp_regenumvalues 以多个记录集方式返回所有键值
使用方法:
xp_regenumvalues 注册表根键, 子键
比如说,想看看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 的所有键值:
use master
exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run'

xp_regread 返回制定键的值
使用方法:
xp_regread 根键,子键,键值名
use master
exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir'

xp_regwrite 写入注册表
使用方法:
xp_regwrite 根键,子键, 值名, 值类型, 值
use master
exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello'
注意值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型

xp_regdeletevalue 删除某个值
使用方法:
xp_regdeletevalue 根键,子键,值名
use master
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName'

xp_regdeletekey 删除键,包括该键下所有值

使用方法:
use master
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey'

 

时间: 2024-08-01 18:11:07

sql 中的常用存储过程的相关文章

MySQL中优化sql语句查询常用的30种方法

本篇文章是对MySQL中优化sql语句查询常用的30种方法进行了详细的分析介绍,需要的朋友参考下   1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

存储过程 使用SQL Mail收发和自动处理邮件中的扩展存储过程简介 SQL SERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下. 一.启动SQL Mail xp_startmail @user,@password @user和@password都是可选的 也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动 二.停止SQL Mail xp_st

Sql中存储过程的定义、修改和删除操作

1.存储过程的分类 系统存储过程 本地存储过程(用户自定义) 临时存储过程(局部[#].全局[##]临时存储过程) 2.创建存储过程 --选出价格区间的商品信息 create procedure sp_goods_price @minprice float ,@maxprice float as select * from goods where price>=@minprice and price <=@maxprice go 执行存储过程: execute sp_goods_price 2

SQL 中常见的系统存储过程

原文:SQL 中常见的系统存储过程 -- 来源于网络 -- 更详细的介结参考联机帮助文档  xp_cmdshell --*执行DOS各种命令,结果以文本行返回.  xp_fixeddrives --*查询各磁盘/分区可用空间  xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全配置  xp_logininfo --*返回有关Windows 认证登录的信息.  xp_msver --*返回有关Microsoft SQL Server 的版本信息

php-PHP如何得用sqlsrv函数来调用MS SQL中的存储过程,并返回数据集?

问题描述 PHP如何得用sqlsrv函数来调用MS SQL中的存储过程,并返回数据集? 我在MS SQL2008R2中写了一个存储过程,过程体中定义了临时表,通过业务逻辑生成 的数据存入临时表中,最后通过查询语句(Select * From xxxx) 返回临时表中的数据. 现在的问题是:在SQL查询分析器中,单独执行带参的存储过程,结果集是有数据的. 但这些数据始终无法在PHP前端显不出来,是什么原因呢?我执行存储过程的方法如下: $params = array( array($sDate,

SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?

原文:SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?   本文出处:http://www.cnblogs.com/wy123/p/6704619.html      问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯,对于不明真相的群众或者喜欢思考的人会问,存储过程中定义的临

SQL Server中通过扩展存储过程实现数据库的远程备份与恢复_MsSql

本文通过实例解析了 SQL Server 数据库扩展存储过程,实现远程备份与恢复的方法和步骤实例说明: 环境:win2k+sqlserver 2K+查询分析器 SQL SERVER服务实例名称:mainserver 需要备份的数据库名称: msdb 本地机器名称(Client端):david 本地用户:zf 密码:123 本地域名:domain 本地提供备份需求的文件夹:e: est 第一步: 建立共享文件夹 在程序代码中调用(或者CMD窗口) net share test=e: est 或者用

SQL点滴30—SQL中常用的函数

原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很详细. 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lowe

SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

原文:SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二:调用模板存储过程创建存储过程: 总结 扩展阅读 参考文献(References) 二.背景(Contexts) 在我的数据库服务器上,同一个实例