㈠ sqlserver2008怎样定时自动更新
新增列updatetime,用于记录flag更改时间。
新建触发器,监听字段flag更改为0时修改updatetime=getdate()。
新建存储过程,检查表中flag=0且时间相差当前时间5分钟的,即修改。
新建作业,定期执行存储过程(执行频率根据你的数据库来酌情决定)。
注意:存储过程要考虑你的业务处理逻辑,避免死锁。
㈡ 怎样让sqlserver后台定时执行某个存储过程
SQL代理中添加工作计划(job)
㈢ MSSQL数据库中定时存储的存储过程
您好!要实现你要的功能;操作如下:
一、可以先写好存储过程的内容;放在目标数据库中
二、在MSSQL的SQL server代理——〉作业——〉新建一个作业 在[常规]选项卡中 设置 名称AUTOZY——〉在[步骤]选项卡中 点击[新建作业]
三、在弹出的作业步骤窗口中;填写步聚名称(自己取一个)--运行身份选择SA或者WINDOWS运行都可以---在数据库处选择 目标数据库(这步很关键)---
在命令 处 写 exec 存储过程的名称(这个不要写错)---点击[确定] 返回上级窗口
四、选择[计划]选项卡 --在计划窗口中可以具体设置怎么样定时运行的方案
五、设置好后 [确定]返回上级窗口---再点击[确定]保存了这个作业
如有不明之处;欢迎CALL 我
㈣ sql server怎么自动执行存储过程
作业里定时执行存储过程定时作业的制定
企业管理器
--管理
--SQL
Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL
脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC
存储过程名
...
--该存储过程用于创建表
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL
Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键
SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
㈤ sql server 怎么定时执行存储过程
sql
server中执行带参数的存储过程的方法是:
exec
存储过程名字
'参数1','参数2',数值参数
exec
是一个关键字。
字符串参数使用单引号括起来,数值参数不需要使用单引号
㈥ sql2008 如何定时执行存储(每月1号凌晨2点自动执行存储proc_Sales_order)
IFEXISTS(SELECT*FROMmsdb.dbo.sysjobsWHEREname='启用pubs数据库')
EXECmsdb.dbo.sp_delete_job@job_name='启用pubs数据库'
--定义创建作业
DECLARE@jobiniqueidentifier
EXECmsdb.dbo.sp_add_job
@job_name=N'启用pubs数据库',
@job_id=@jobidOUTPUT
--定义作业步骤
DECLARE@sqlnvarchar(400),@dbnamesysname
SELECT@dbname=N'master',--数据库联机或者脱机只能在master数据库中进行
@sql=N'ALTERDATABASEpubsSETONLINE'--使用pubs数据库联机(启用)
EXECmsdb.dbo.sp_add_jobstep
@job_id=@jobid,
@step_name=N'启用pubs数据库处理',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql
--创建调度(使用后面专门定义的几种作业调度模板)
EXECmsdb..sp_add_jobschele
@job_id=@jobid,
@name=N'启用pubs数据库处理调度',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x1,
@freq_subday_interval=1,
@active_start_time=075000--每天07:50分执行
--添加目标服务器
DECLARE@servernamesysname
SET@servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXECmsdb.dbo.sp_add_jobserver
@job_id=@jobid,
@server_name=@servername
--给你一个例子不懂在问我
㈦ SQL Server 里需要定时执行某个存储过程,存储过程怎么写
1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->描述[填写本次工作详细描述内容];[ 创建作业分类的步骤:SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]
3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->数据库[要操作的数据库]->命令[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件如果要执行存储过程,填exec p_procere_name v_parameter1,[ v_parameter2…v_parameterN]]->确定(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->更改[调度时间表]->确定(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。
㈧ SQL SERVER2008 中实现每到某时间,就执行特定的存储过程,如何实现
提供4中方案: 1、可以用sql作业的方式来定时执行。 2、编写服务,定时执行存储过程。 3、利用ADO.Net的方式,timmer定时执行来实现。 4、如果是每天的某个时间段来执行的话,可以配置windows计划任务来执行程序。程序中执行你的存储过程。
㈨ sql server:如何设置自动执行的存储过程
--方法1:作业里定时执行存储过程定时作业的制定 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行的语句: EXEC 存储过程名 ... --该存储过程用于创建表 --确定 --"调度"项 --新建调度 --"名称"中输入调度名称 --"调度类型"中选择你的作业执行安排 --如果选择"反复出现" --点"更改"来设置你的时间安排 然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法: 我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定. --方法2:将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行"。 或在master中创建存储过程后,执行语句配置为自动启动 use master exec sp_procoption '存储过程名','startup','on' 自动执行存储过程 SQL Server 启动时能够自动执行一个或多个存储过程。这些存储过程必须由系统管理员创建,并在 sysadmin 固定服务器角色下作为后台过程执行。这些过程不能有任何输入参数。 对启动过程的数目没有限制,但是要注意,每个启动过程在执行时都会占用一个连接。假如必须在启动时执行多个过程,但无需并行执行,则能够指定一个过程作为启动过程,让该过程调用其他过程。这样就只占用一个连接。 在启动时恢复了最后一个数据库后,即开始执行存储过程。若要跳过这些存储过程的执行,请将启动参数指定为跟踪标记 4022。假如以最低配置启动 SQL Server(使用 -f 标记),则启动存储过程也不会执行。有关更多信息,请参见跟踪标记。 若要创建启动存储过程,必须作为 sysadmin 固定服务器角色的成员登录,并在 master 数据库中创建存储过程。 使用 sp_procoption 能够: 将现有存储过程指定为启动过程。
㈩ 如何让sql自动定时执行某个存储过程
declare @ftype int,@fstype int,@ffactor int
select @ftype=case @freqtype when 'day' then 4
when 'week' then 8
when 'month' then 16 end
,@fstype=case @fsinterval when 1 then 0 else 8 end
if @fsinterval<>1 set @time=0
set @ffactor=case @freqtype when 'day' then 0 else 1 end
EXEC msdb..sp_add_jobschele @job_name=@jobname!