sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行。这是一个很不错的选择,它可以用于多种多样的用途。比如,
复制代码 代码如下:
sp_procoption Parameters
exec sp_procoption @ProcName = ['stored procedure name'],
@OptionName = 'STARTUP',
@OptionValue = [on|off]
以下是sp_procoption存储过程参数的解释:
l 参数@ProcName的意思是明显的,它是被标记成自动执行的过程的名称。
l 参数@OptionName是可选用项,唯一有效的选项是STARTUP。
l 参数@OptionValue切换自动执行的开与关。
使用有特定限制的sp_procoption:
l 你必须以系统管理员的身份登录服务器并使用sp_procoption。
l 你只能指派标准存储过程、扩展存储过程或者CLR存储过程来启动。
l 存储过程必须在主从数据库上。
l 存储过程不能要求任何输入参数或者返回任何输出参数。
在下面的例子中,我创建一个存储过程,每次启动我的SQL Server实例时,这个存储过程就自动执行。这个存储过程的目的是在记录服务启动时间的数据库表中写一行。通过这张数据库表,我产生一个获得服务器正常运行时间的想法。以下的脚本创建了一个新的数据库,这个数据库存储了一张叫做SERVER_STARTUP_LOG的公制表。这张表保留了上次服务器启动的日期和时间。一旦建立了这个基本的架构,我就创建存储过程,在服务器启动时,这个存储过程将用于把日期和时间插入到表中。注意,存储过程是在主从数据库上创建的。
12下一页阅读全文