Можно ли запускать хранимую процедуру автоматически без агента sql sever? - PullRequest
4 голосов
/ 24 февраля 2011

Здравствуйте! Я использую MS SQL Management Studio Express 2005 и мне нужна хранимая процедура для ежедневной активации.

Однако у меня нет агента SQL.

Студия Managemnet не будет открываться ежедневно, поэтому я не могу использовать сценарий запуска.

Кто-нибудь знает, как это сделать без агента?

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 24 февраля 2011

вы можете использовать sqlcmd

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

, затем иметь это в пакетном файле и запланировать через планировщик Windows

пример ниже

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

это подключится к sql на локальной машине и выполнит подсчет строк для таблицы в базе данных

1 голос
/ 24 февраля 2011

Это не красиво, но вы можете создать хранимую процедуру в 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.

1 голос
/ 24 февраля 2011

Вы можете создать запланированное задание Windows для запуска клиента командной строки osql.

1 голос
/ 24 февраля 2011

Создайте сценарий, который вызывает базу данных, и используйте запланированные задачи для выполнения сценария.

...