当前位置:首页 » 编程语言 » 重建sql作业
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

重建sql作业

发布时间: 2023-02-02 23:20:04

1. 如何恢复sql Sever 代理里面的作业

直接用查询分析器运行导出的SQL脚本

2. 高分求一段sql语句,怎么用sql语句建立作业

代码比较复杂,示例参见底部。


通常的方案:

1、用SSMS创建

2、自编代码(HELP语法) -- 由于比较复杂,非常容易错--反正我自己是不会这么干的:(

DECLARE@jobIdBINARY(16)
EXEC@ReturnCode=msdb.dbo.sp_add_job@job_name=N'MobDSS@历史数据清理(每周1次)',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'无描述。',
@category_name=N'[Uncategorized(Local)]',
@owner_login_name=N'sa',@job_id=@jobIdOUTPUT
IF(@@ERROR<>0OR@ReturnCode<>0)GOTOQuitWithRollback

/******Object:Step******/
EXEC@ReturnCode=msdb.dbo.sp_add_jobstep@job_id=@jobId,@step_name=N'step1',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0,@subsystem=N'TSQL',
@command=N'EXEC[TOOL].[job_DataClear]',
@database_name=N'MobDSS',
@flags=0
IF(@@ERROR<>0OR@ReturnCode<>0)GOTOQuitWithRollback
EXEC@ReturnCode=msdb.dbo.sp_update_job@job_id=@jobId,@start_step_id=1
IF(@@ERROR<>0OR@ReturnCode<>0)GOTOQuitWithRollback
EXEC@ReturnCode=msdb.dbo.sp_add_jobschele@job_id=@jobId,@name=N'每周1次',
@enabled=1,
@freq_type=8,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20120420,
@active_end_date=99991231,
@active_start_time=4000,
@active_end_time=235959,
@schele_uid=N'155f2013-8e54-429c-ad4f-edf84157ea09'
IF(@@ERROR<>0OR@ReturnCode<>0)GOTOQuitWithRollback
EXEC@ReturnCode=msdb.dbo.sp_add_jobserver@job_id=@jobId,@server_name=N'(local)'
IF(@@ERROR<>0OR@ReturnCode<>0)GOTOQuitWithRollback
COMMITTRANSACTION
GOTOEndSave
QuitWithRollback:
IF(@@TRANCOUNT>0)ROLLBACKTRANSACTION
EndSave:

GO

3. SqlServer2005 如何创建作业

USE msdb ;
GO
EXEC dbo.sp_add_job
@job_name = 'SQL_EmailOne1', --作业的名称
@enabled = 1, --指示添加的作业的状态(默认值为 1(启用))
@description = 'Testing', --作业的说明
@owner_login_name = 'sa', --拥有作业的登录名
@notify_level_eventlog = 2, --0 从不 1 成功后 2(默认值)失败后 3 始终
@notify_level_email = 2, --默认值为 0,指示从不发送
@notify_level_netsend = 2, --默认值为 0,指示从不发送
@notify_level_page = 2, --默认值为 0,指示从不发送
@category_id=3, --作业的类别ID
@delete_level = 0 ; --默认值为0,不删除,用于指示何时删除作业
GO

USE msdb ;
GO
EXEC sp_add_jobstep
@job_name = 'SQL_EmailOne1', --步骤的作业的名称
@step_name = 'SQL_Emailone2', --步骤的名称
@server='svr2',--服务器名称
@database_name='testdb',--数据库
@subsystem = 'TSQL', --Transact-SQL 语句\制表符 --CHAR(9) 换行符 CHAR(10) 回车 CHAR(13)
@command ='use orbitx declare @cnt int select @cnt=count( *) from sqlemail if @cnt>3 begin use msdb EXEC sp_send_dbmail @profile_name = ''two'',@recipients = ''[email protected]'',@subject = ''邮件测试xdd'',@body = ''邮件测试成功xdd!'' end',
@retry_attempts = 2,--该步骤失败时的重试次数
@retry_interval = 0.05 ; --两次重试之间的间隔时间(分钟)
GO
USE msdb ;
GO
EXEC sp_add_schele
@schele_name = 'SQL_Emailone2' ,--计划的名称
@freq_type = 4 , --指示作业执行时间的值 1为一次,4为每天(1,8,16,32等参考帮助文档)值为2的次方
@freq_interval = 1,--作业执行的天数 说明同上
@freq_subday_type=0x4,
@freq_subday_interval=1,
@active_start_time = 010000 ;--数据类型为 int,默认值为 000000,指示 24 小时制的上午 12:00:00,并且必须使用 HHMMSS 的格式输入
GO
EXEC sp_attach_schele
@job_name = 'SQL_EmailOne1', --计划的作业的名称
@schele_name = 'SQL_Emailone2' ; --作业设置的计划的名称
GO

USE msdb ;
GO
EXEC dbo.sp_add_jobserver
@job_name = 'SQL_EmailOne1', --作业的名称
@server_name = 'svr' ; --该作业的目标服务器的名称
GO

4. 怎样重建SQL2005中的master

遇到损坏或者错误的master数据库是最难解决情况之一。Master数据库包含了SQL Server需要的关键信息。如果master数据库出错,那么SQL Server就不能启动。要在这种情况下还原master数据库,可以按照下面这些步骤来从灾难中恢复过来: 1. 使用\Program Files\Microsoft SQL Server\80\Tools\Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使你的数据库文件完整无缺。经常把数据和日志文件备份到一个单独的目录是个不错的主意。 2. 使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server。 3. 从最近一次已知最好的备份来还原master数据库。 4. 核实master数据库是不是已经成功还原:确认所有数据库都已恢复正常运行。从最近一次已知最好的备份来还原msdb数据库。 5. 以普通模式停止和启动SQL Server。 6. 向生产用户开放数据库。 如果这样做没有效,那么重建master数据库然后附加这个数据库。这也是DBA的任务之一,当然你并不希望经常这样做。如果master数据库出现问题,那么服务器上所有的数据库都会出现问题。 总的来说,恢复时要完成的第一个步骤就是安装一个新的master数据库,使服务器至少能够启动。在此基础上,就可以还原真正的master数据库了。双击了rebuildm.exe之后,将启动rebuild master实用程序,它需要三个参数: ① 要恢复的服务器名称。 ② Master数据库在原来的安装程序中的位置,如果SQL Server的版本为SP2,这个位置应当是安装CD的x86\data目录(在更早的版本中,由于存在程序错误,有可能需要将这个data目录拷贝到硬盘驱动器或者网络驱动器上)。 ③ 服务器的排序规则。 这个重建过程将会重新创建全部四个系统数据库以及Northwind和Pubs,接着对服务器进行配置。整个重建过程大约需要数分钟,如果以前使用service pack对服务器进行了升级,将有可能花费更长时间。 恢复过程的第二个步骤是使用服务器管理或者企业管理器来启动服务器。 依赖于你的安全性配置,企业管理器很有可能没有连接到服务器的权限。重建master数据库将会丢掉除了sa以外的所有用户登录,并把sa的空口令重置为空。如果要调整企业管理器的连接配置,以便作为sa以空口令连接到服务器,可以编辑SQL Server的注册属性。不要担心sa的空口令,因为我们很快就会恢复真正的master数据库。一旦服务器再次运行,你就会发现所有的用户数据库都不见了,因为重建的master数据库没有包含有关这些用户数据库的信息。恢复过程的第三个步骤就是将服务器置于单用户模式,以便还原master数据库。在企业管理器中,要完成以下步骤: ① 选择服务器。 ② 使用右键单击它,并从弹出的快捷方式菜单中选择“属性”菜单项,打开“服务器属性”对话框。 ③ 单击“启动参数”按钮。 ④在“参数”文本框中输入-m,然后按下“添加”按钮。 ⑤ 按下“确定”按钮关闭“启动参数”对话框,然后关闭“服务器属性”对话框。 ⑥ 关闭企业管理器。 警告:在SQL Server实例处于单用户模式时,不要使用企业管理器。这样做有可能会锁定该实例,使它进入不能接受其他连接的状态。 ⑦ 使用SQL Server服务器管理器停止并重新启动SQL Server实例。 恢复损坏的master数据库的第四个步骤才是进行真正的还原。因为SQL Server现在处于单用户模式,所以必须使用查询分析器来完成这一步骤。如果试图在企业管理器中还原master数据库,将会产生严重的问题。在查询分析器中进行还原时,需要执行下面的命令: RESTORE DATABASE master FROM DISK=’systembackup’ WITH FILE=1 执行结果如下: The master database has been successfully restored. Shutting down SQL Server. SQL Server is terminating this process. 关闭查询分析器,并使用SQL Server的服务管理器重新启动SQL Server实例。 还原master数据库的最后一步是把在第三个步骤加入的-m启动参数去掉,将SQL Server实例重新置于多用户状态。要修改这个启动参数,可以使用企业管理器的“服务器属性”对话框。 关闭企业管理器,使用SQL Server的服务管理器停止并重新启动SQL Server实例。

5. 如何重建 master 数据库虚拟 SQL Server 实例上

如何重建上虚拟的主数据库 (群集) SQL Server 2000年服务器

要重建主SQL Server 2000年数据库,请执行以下步骤:
请确保您在其中执行 Rebuildm.exe 的节点受控制 SQL Server 资源。
通过使用 SQL Server 服务管理器,使 SQL Server 虚拟服务器脱机。
请确保原始共享安装文件或 SQL Server 安装光盘可用。

如果您使用 SQL Server 安装 CD,所有文件从 CD 都复制到本地硬盘上。将它们复制到硬盘后,请从文件中删除只读属性。有关详细信息,请参阅以下文章 Microsoft 知识库中相应的文章:
273572错误: Rebuildm.exe 实用程序停止响应时源目录是在 CD 上
执行 Rebuildm.exe 和点到它:
原始共享的安装文件。

-或者-
从 CD 复制到本地硬盘的文件。
选择Windows 排序规则中,或SQL 排序规则。
Rebuildm.exe 程序完成后,请验证您可以使资源联机和它们成功地www.hbbz08.com 故障转移。
执行sp_helpsort存储过程来验证排序规则。
注意: 前面的步骤不包括重建用户数据库所需的步骤。如果您有最新的备份master数据库,您可以在此时恢复。如果没有,则必须还原或附加用户数据库。

您必须连接并还原的主动节点上的命令提示符下启动 SQL Server。

6. 如何修复sql数据库master

在网上搜索了一下,发现了一篇介绍比较详细的,而且也确实解决了这一问题(我在VM上测试过可以),特将其全文转贴如下:
关于系统数据库的恢复总结如下:
在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:
master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它
model-为新数据库提供模版和原型
msdb-包含了有关作业、报警及操作员等信息
如果包含系统数据库的介质变了,那么必须重建系统数据库,如果你仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。
如果master坏了,不能启动系统,可以按照下面步骤进行恢复
1.重建系统数据库 运行c:/mssql7/binn/rebuildm.exe,按照提示进行即可,
过程中需要系统数据库样本的路径,可在安装光盘中找到;
2 重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库
就行了通常恢复顺序为master->msdb->model
在恢复master的备份时要注意:必须在单用户(single user)模式下进行
a.进入单用户模式的方法:
1.在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m
其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动
-f 用最小配置启动SQL Server
-m 单用户模式启动SQL Server
2.可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或者输入-m,点击开始
3.进行master数据库的恢复
a.直接进入查询分析器,有个提示不要理会它
输入恢复语句进行数据库恢复:
RESTORE DATABASE master from disk='c:/具体的备份文件名'
b.或者用这个,在命令提示符下输入,注意大小写
使用"windows身份验证"的,输入:isql /E
使用"sql server和windows身份验证"的,输入:isql /U"用户名" /P"密码"
然后在出现的提示符下输入(注意1>,2>是提示符):

7. 高分求一段sql语句,怎么用sql语句建立作业

Oracle下: 1.新增一个批处理文件:如a.bat 2.新增一个SQL脚本文件:如a.sql 3.a.bat中输入:sqlplus 用户名/密码 @C:\a.sql(假设a.sql在c:盘根目录下) 4.然后运行这个批处理,就可以执行这个sql脚本了.

8. 如何重建SQL索引 要具体的命令

USE TableName
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor

9. 如何备份和还原 SQL 代理作业

使用脚本备份作业
打开 SQL Server Management Studio。
展开 “SQL Server 代理”,然后展开 “作业”。
右键单击你想要创建的备份脚本,然后选择的作业 作为脚本作业。
选择 创建到 或 拖放到, ,然后选择 新查询编辑器窗口, ,文件, ,或 剪贴板 若要为脚本选择一个目标。 通常情况下,目标是为此文件 .sql 扩展。
为你要编写脚本的每个作业重复步骤 3 以后的过程。 请参考与 BizTalk Server 相关的作业列表,以确定你需要为哪些作业编写脚本。
至少,你应备份 备份 BizTalk Server (BizTalkMgmtDb) 作业后配置。
从脚本还原作业
打开 SQL Server Management Studio。
上 文件 菜单上, 打开 包含已编写脚本的作业的文件。
执行该脚本以创建作业。

10. 现有一个实时数据 SQL数据库, 我想重建一个新库 ,里面只保存当前3天的数据,该怎么操作

crete tabel table_name_new as select * from table_name
where YYYYMMDD between to_date(YYYYMMDD,'YYYYMMDD') and to_date(YYYYMMDD,'YYYYMMDD')