游戏梦网
当前位置:IT学院 >> 数据库 >> Mssql >> 正文

学习SQL SERVER的存储过程-之一认识存储过程语法

中关村商情网  2007-7-4  责编:夏天  字体:

 


临时存储过程
SQL Server 支持两种临时过程:局部临时过程和全局临时过程。局部临时过程只能由创建该过程的连接使用。全局临时过程则可由所有连接使用。局部临时过程在当前会话结束时自动除去。全局临时过程在使用该过程的最后一个会话结束时除去。通常是在创建该过程的会话结束时。

临时过程用 # 和 ## 命名,可以由任何用户创建。创建过程后,局部过程的所有者是唯一可以使用该过程的用户。执行局部临时过程的权限不能授予其他用户。如果创建了全局临时过程,则所有用户均可以访问该过程,权限不能显式废除。只有在 tempdb 数据库中具有显式 CREATE PROCEDURE 权限的用户,才可以在该数据库中显式创建临时过程(不使用编号符命名)。可以授予或废除这些过程中的权限。


说明  频繁使用临时存储过程会在 tempdb 中的系统表上产生争用,从而对性能产生负面影响。建议使用 sp_executesql 代替。sp_executesql 不在系统表中存储数据,因此可以避免这一问题。


自动执行存储过程
SQL Server 启动时可以自动执行一个或多个存储过程。这些存储过程必须由系统管理员创建,并在 sysadmin 固定服务器角色下作为后台过程执行。这些过程不能有任何输入参数。

对启动过程的数目没有限制,但是要注意,每个启动过程在执行时都会占用一个连接。如果必须在启动时执行多个过程,但不需要并行执行,则可以指定一个过程作为启动过程,让该过程调用其它过程。这样就只占用一个连接。

在启动时恢复了最后一个数据库后,即开始执行存储过程。若要跳过这些存储过程的执行,请将启动参数指定为跟踪标记 4022。如果以最低配置启动 SQL Server(使用 -f 标记),则启动存储过程也不会执行。有关更多信息,请参见跟踪标记。

若要创建启动存储过程,必须作为 sysadmin 固定服务器角色的成员登录,并在 master 数据库中创建存储过程。

使用 sp_procoption 可以:

将现有存储过程指定为启动过程。


停止在 SQL Server 启动时执行过程。


查看 SQL Server 启动时执行的所有过程的列表。
存储过程嵌套
存储过程可以嵌套,即一个存储过程可以调用另一个存储过程。在被调用过程开始执行时,嵌套级将增加,在被调用过程执行结束后,嵌套级将减少。如果超出最大的嵌套级,会使整个调用过程链失败。可用 @@NESTLEVEL 函数返回当前的嵌套级。

若要估计编译后的存储过程大小,请使用下列性能监视计数器。

性能监视器对象名 性能监视计数器名称
SQLServer:缓冲区管理器 高速缓存大小(页面数)
SQLServer:高速缓存管理器 高速缓存命中率
  高速缓存页
  高速缓存对象计数*


* 各种分类的高速缓存对象均可以使用这些计数器,包括特殊 sql、准备 sql、过程、触发器等。

有关更多信息,请参见 SQL Server:Buffer Manager 对象和 SQL Server:Cache Manager 对象。

sql_statement 限制
除了 SET SHOWPLAN_TEXT 和 SET SHOWPLAN_ALL 之外(这两个语句必须是批处理中仅有的语句),任何 SET 语句均可以在存储过程内部指定。所选择的 SET 选项在存储过程执行过程中有效,之后恢复为原来的设置。

如果其他用户要使用某个存储过程,那么在该存储过程内部,一些语句使用的对象名必须使用对象所有者的名称限定。这些语句包括:

ALTER TABLE


CREATE INDEX


CREATE TABLE


所有 DBCC 语句


DROP TABLE


DROP INDEX


TRUNCATE TABLE


UPDATE STATISTICS
权限
CREATE PROCEDURE 的权限默认授予 sysadmin 固定服务器角色成员和 db_owner 和 db_ddladmin 固定数据库角色成员。sysadmin 固定服务器角色成员和 db_owner 固定数据库角色成员可以将 CREATE PROCEDURE 权限转让给其他用户。执行存储过程的权限授予过程的所有者,该所有者可以为其它数据库用户设置执行权限。

 


【作者:佚名】 【来源:中关村商情网】
评论】【 】【去论坛看看】【收藏】【打印】【关闭】【回到顶部

我来说两句

优惠活动:买笔记本、台式机、服务器,拨打电话010-68400280/68400215,享受惊喜特价!

论坛·美图

相关链接
IT学院 最新文章

HD Tune硬盘软件

服务器负载均衡

Oracle数据库

ASP加密和解密
·Mac OS X下应用程序的安装与卸载
·成为系统专家的必修课
·X系统不能启动故障排除的DIY完全手册
·认识苹果电脑的必备常识
·苹果操作系统精选教程1
·苹果操作系统精选教程2
·苹果操作系统精选教程3
·苹果操作系统精选教程4
·苹果操作系统精选教程5
·苹果操作系统精选教程6
·苹果操作系统精选教程7
·MAC系统的一些常识
·APPLE Mac osx (提速 / 修改键盘设置 
·APPLE 全功略 (一)
·APPLE Mac OSX工具软件下载
·在PC上本地安装Macl OS X x86
·MAC X86 硬件支持列表
·xp 与osx 双启动
·在PC上安装Mac OSX x86
·Mac OSX建立分区和格式化分区
IT学院 热点文章

关于CZN | 用户注册 | 友情链接 | 内容合作 | 广告服务 | 免责条款 | 工作机会 | 我要投稿 | 产品评测 | 联系CZN | 网站地图 | 设为首页 | 加入收藏
服务热线:010-68400280 EMAIL: 您若发现页面中有任何错误或侵犯您的版权,请及时与我们联系
Copyright© 2005-2008 Czn.Com.Cn All Rights Reserved 京ICP证05009081号