在SQL Server启动时自动执行存储过程。第1/2页

 更新时间:2008年10月02日 01:02:05   作者:  
当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存储过程参数的解释:

  l 参数@ProcName的意思是明显的,它是被标记成自动执行的过程的名称。

  l 参数@OptionName是可选用项,唯一有效的选项是STARTUP。

  l 参数@OptionValue切换自动执行的开与关。

  使用有特定限制的sp_procoption:

  l 你必须以系统管理员的身份登录服务器并使用sp_procoption。

  l 你只能指派标准存储过程、扩展存储过程或者CLR存储过程来启动。

  l 存储过程必须在主从数据库上。

  l 存储过程不能要求任何输入参数或者返回任何输出参数。

  在下面的例子中,我创建一个存储过程,每次启动我的SQL Server实例时,这个存储过程就自动执行。这个存储过程的目的是在记录服务启动时间的数据库表中写一行。通过这张数据库表,我产生一个获得服务器正常运行时间的想法。以下的脚本创建了一个新的数据库,这个数据库存储了一张叫做SERVER_STARTUP_LOG的公制表。这张表保留了上次服务器启动的日期和时间。一旦建立了这个基本的架构,我就创建存储过程,在服务器启动时,这个存储过程将用于把日期和时间插入到表中。注意,存储过程是在主从数据库上创建的。

相关文章

  • SQL中 and or in的用法小结

    SQL中 and or in的用法小结

    这篇文章主要介绍了SQL中 and or in的用法小结,IN运算符允许您在WHERE子句中指定多个值,IN运算符是多个OR条件的简写,本文结合实例代码介绍的非常详细,感兴趣的朋友一起看看吧
    2024-04-04
  • 分享一下SQL Server执行动态SQL的正确方式

    分享一下SQL Server执行动态SQL的正确方式

    这篇文章主要介绍了SQL Server执行动态SQL正确方式,需要的朋友可以参考下
    2017-06-06
  • Mybatis4 之Mybatis动态sql的实现代码

    Mybatis4 之Mybatis动态sql的实现代码

    这篇文章主要介绍了Mybatis4 之Mybatis动态sql的实现代码,本文给大家提到了静态sql与动态sql有什么区别,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python版Mssql爆破小脚本

    Python版Mssql爆破小脚本

    本文给大家分享的是使用Python实现的暴力破解mssql用户密码的脚本的代码,配合上合适的字典非常好用,有需要的小伙伴可以参考下
    2016-10-10
  • SqlServer中查看当前Open的Cursor方法

    SqlServer中查看当前Open的Cursor方法

    这篇文章主要介绍了SqlServer中查看当前Open的Cursor方法,本文为了解决A cursor with thename ' ' already exists总结的几个方法,需要的朋友可以参考下
    2015-07-07
  • SQL server修改表错误提示:阻止保存需要重新创建表的更改解决办法

    SQL server修改表错误提示:阻止保存需要重新创建表的更改解决办法

    这篇文章主要给大家介绍了关于SQL server修改表错误提示:阻止保存需要重新创建表的更改的解决办法,文中将解决的办法介绍的非常详细,对同样遇到的朋友具有一定的参考解决价值,需要的朋友可以参考下
    2024-06-06
  • 关于SQL Server加密与解密的问题

    关于SQL Server加密与解密的问题

    这篇文章主要介绍了SQL Server加密与解密的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 通过T-SQL语句创建游标与实现数据库加解密功能

    通过T-SQL语句创建游标与实现数据库加解密功能

    这篇文章介绍了通过T-SQL语句创建游标与实现数据库加解密功能的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Hive-SQL查询连续活跃登录用户思路详解

    Hive-SQL查询连续活跃登录用户思路详解

    这篇文章主要介绍了Hive-SQL查询连续活跃登陆的用户,活跃用户这里是指连续2天都活跃登录的用户,本文给大家分享解决思路及sql语句,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • sql server如何去除数据中的一些无用的空格

    sql server如何去除数据中的一些无用的空格

    这篇文章主要介绍了sql server去除数据中的一些无用的空格,本文给大家提到了一些常用的函数,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05

最新评论