SQL Server启动服务器时运行的存储过程
当 SQL Server 启动时 ,我很想运行一个存储过程。有没有一种方法可以在每次 SQL Server 服务启动时都会自动执行这个存储过程呢 ? SQL Server 提供了系统存储过程 sp_procoption ,这个存储过程可以用于当 SQL Server 服务启动时指派一个或者多个 存储过程自
当SQL Server启动时,我很想运行一个存储过程。有没有一种方法可以在每次SQL Server服务启动时都会自动执行这个存储过程呢?
SQL Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行。这是一个很不错的选择,它可以用于多种多样的用途。比如,你可能在你的数据库中有开销很大的查询,这个查询在首次执行时会花费一些时间。通过使用sp_procoption,你可以在服务器启动时运行这个查询以此来预先编译执行计划,由此,你的某个用户就不会成为第一个运行这个特殊查询的不幸的人。我曾经用这个功能建立了一个我自己写的概要分析器服务器端跟踪的自动执行功能,这个跟踪功能成为服务器启动时被设置成自动执行的存储过程的一部分。
sp_procoption Parameters
exec sp_procoption @ProcName = ['stored procedure name'],
@OptionName = 'STARTUP',
@OptionValue = [on|off]
以下是sp_procoption存储过程参数的解释:
1. 参数@ProcName的意思是明显的,它是被标记成自动执行的过程的名称。
2. 参数@OptionName是可选用项,唯一有效的选项是STARTUP。
3. 参数@OptionValue切换自动执行的开与关。
使用有特定限制的sp_procoption:
l 你必须以系统管理员的身份登录服务器并使用sp_procoption。
l 你只能指派标准存储过程、扩展存储过程或者CLR存储过程来启动。
l 存储过程必须在主从数据库上。
l 存储过程不能要求任何输入参数或者返回任何输出参数。
例如:
CREATE PROCEDURE dbo.chen
AS
INSERT INTO pubs.dbo.jobs(job_desc,min_lvl,max_lvl) SELECT 'chenjianping',45,56
GO
EXEC sp_procoption 'chen','STARTUP','on'
GO
下一篇: php 程序发送邮件失败
推荐阅读
-
在SQL Server 2005中创建CLR存储过程的详细介绍
-
SQL Server 2005 创建简单的存储过程--总结分析
-
深入sql server 2005 万能分页存储过程的详解
-
SQL Server中通过扩展存储过程实现数据库的远程备份与恢复
-
在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
-
SQL Server两种分页的存储过程使用介绍
-
SQL Server创建链接服务器的存储过程示例分享
-
SQL Server误区30日谈 第1天 正在运行的事务在服务器故障转移后继续执行
-
浅析SQL Server中包含事务的存储过程
-
SQL Server数据库中的存储过程介绍