是否可以在没有sql server Agent的情况下自动运行存储过程?

时间:2011-02-24 11:51:52

标签: sql sql-server-2005 database-design

您好我正在使用MS SQL Management Studio Express 2005,我需要有一个存储过程来每天激活。

但是我没有SQL代理。

Managemnet工作室不会每天打开,因此我无法使用启动脚本。

任何人都知道在没有代理的情况下如何做到这一点?

提前致谢。

4 个答案:

答案 0 :(得分:3)

你可以使用sqlcmd

http://msdn.microsoft.com/en-us/library/ms162773.aspx

然后将其放在批处理文件中并通过Windows调度程序进行调度

以下示例

sqlcmd -E -S localhost -q "select count(1) from databasename.dbo.tablename"

这将连接到本地计算机上的sql并在数据库中的表上执行rowcount

答案 1 :(得分:1)

创建一个执行数据库调用的脚本,并使用Scheduled Tasks来执行脚本。

答案 2 :(得分:1)

您可以创建Windows计划任务以运行命令行客户端osql

答案 3 :(得分:1)

它不漂亮,但您可以在master中创建存储过程:

use master
go
CREATE PROCEDURE DoStuffDaily
AS
    WHILE 1=1
    BEGIN
        WAITFOR TIME '00:05' --5 past midnight?
        EXEC <yourdb>.<schema>.<proc>
    END
go

然后使用sp_procoption将此存储过程标记为启动过程,然后重新启动SQL Server。