sqlserver2008 所有库备份恢复问题.做mysql的全部备份 有一个命令 mysqldump --all 可以把机器上所有库(比如 a 库 b 库 c 库等)一次性导入到一个sql文件
全库恢复 mysql 直接<sql文件就可以了.sqlserver 就单个库的备份恢复是简单的 无论图形还是脚本. 现在需要把sqlserver该实例下所有库(比如 a 库 b 库 c 库等)一次性全备份, 再一次性全部恢复 (这样a机器可以在不当机器的情况下,实现所有库 权限甚至job的迁移 ),
(这个功能确实是需要的 有时候生产机器高负荷当机 ,sqlserver不能起来, 只能把全备份恢复)我采用管理计划全备份后发现 他实际是把a 库 b 库 c 库等分别做成一个bak文件 .
现在只能每个单个库的恢复. 这些库文件太大 有几百g. 现在想知道的是1sqlserver 有没有类似mysql的一次性到所有备份库一次性恢复的方法. (当前每个库的做法不知道是否保存job 镜像 logship等配置信息)
2 mysql一次性恢复 可以包括 [事件]---这个相当于sqlserver的job
不知道sqlserer 的各个库的恢复能否恢复
保存job 镜像 logship等配置信息?
全库恢复 mysql 直接<sql文件就可以了.sqlserver 就单个库的备份恢复是简单的 无论图形还是脚本. 现在需要把sqlserver该实例下所有库(比如 a 库 b 库 c 库等)一次性全备份, 再一次性全部恢复 (这样a机器可以在不当机器的情况下,实现所有库 权限甚至job的迁移 ),
(这个功能确实是需要的 有时候生产机器高负荷当机 ,sqlserver不能起来, 只能把全备份恢复)我采用管理计划全备份后发现 他实际是把a 库 b 库 c 库等分别做成一个bak文件 .
现在只能每个单个库的恢复. 这些库文件太大 有几百g. 现在想知道的是1sqlserver 有没有类似mysql的一次性到所有备份库一次性恢复的方法. (当前每个库的做法不知道是否保存job 镜像 logship等配置信息)
2 mysql一次性恢复 可以包括 [事件]---这个相当于sqlserver的job
不知道sqlserer 的各个库的恢复能否恢复
保存job 镜像 logship等配置信息?
信息。该表存储在 msdb 数据库中。查看作业运行情况
http://fygh6318.blog.51cto.com/390568/380816
select
a.job_id '作业ID',a.name '作业的名称',a.enabled '是否启用',a.description '作业的说明',c.step_id '步骤ID',
c.step_name '步骤名',c.command '执行的命令',
a.category_id
'作业类别的ID',
(Case when a.notify_level_email=0
then '从不'
when a.notify_level_email=1
then '作业成功时'
when a.notify_level_email=2
then '作业失败时'
when a.notify_level_email=3
then '作业完成时'
else
'未知'
End
)as '发送通知电子邮件',a.notify_email_operator_id '通知的操作员',
a.date_created '作业的创建日期',a.date_modified '修改作业的日期',a.version_number '作业版本',b.message '消息',
(CASE
WHEN b.run_status = 0
THEN '失败'
WHEN b.run_status = 1
THEN '成功'
WHEN b.run_status = 2
THEN '重试'
WHEN b.run_status = 3
THEN '已取消'
WHEN b.run_status = 4
THEN '正在进行中'
ELSE '未知'
END
)as '作业的执行状态',
c.last_run_date '上一次执行的日期',c.last_run_time '上一次执行的时间' ,c.last_run_duration '花费的时间' ,c.last_run_retries '重试次数',
d.next_run_date '下一次执行日期',d.next_run_time '下一次执行时间',
b.operator_id_emailed '通知的操作员的ID',
operator_id_netsent '消息通知的操作员的ID',b.operator_id_paged '寻呼通知的操作员的ID',
c.server '服务器'
from msdb.dbo.sysjobs(nolock) a inner join msdb.dbo.sysjobsteps c on a.job_id=c.job_id
left join (select * from msdb.dbo.sysjobhistory(nolock) where instance_id
in( select max(instance_id) from msdb.dbo.sysjobhistory(nolock) group by job_id )) b
on a.job_id=b.job_id left join msdb.dbo.sysjobschedules(nolock) d on a.job_id=d.job_id2.查看某个job上一次运行情况select b.name '任务名',a.job_id '任务ID',a.step_id '步骤',step_name '步骤名',sql_message_id 'sql信息',message '执行信息',
run_date+run_time '运行时间',run_duration '运行时长',description '描述' from msdb.dbo.sysjobhistory(nolock) a
inner join msdb.dbo.sysjobs(nolock) b on a.job_id=b.job_id
where run_date='20090825' and b.name='jobname3.与Job相关的系统表 sysjobhistory
包含有关由 SQL Server 代理程序调度作业的执行的信息。该表存储在 msdb 数据库中。
sysjobs
存储将由 SQL Server 代理程序执行的每个已调度作业的信息。该表存储在 msdb 数据库中
sysjobsteps
包含将由 SQL Server 代理程序执行的作业中每个步骤的信息。该表存储在 msdb 数据库中。
sysjobschedules
包含将由 SQL Server 代理程序执行的作业调度信息。该表存储在 msdb 数据库中。
sysjobservers
存储特定作业与一个或更多目标服务器的关联或关系
与备份/还原相关的系统表:
backupfile
每个备份的数据或日志文件在表中占一行。该表存储在 msdb 数据库中。
backupmediafamily
每个媒体家族在表中占一行。该表存储在 msdb 数据库中。
backupmediaset
每个备份媒体集在表中占一行。该表存储在 msdb 数据库中。
backupset
每个备份集在表中占一行。该表存储在 msdb 数据库中。
restorefile
restorefile 表中每个已还原的文件(包括按文件组名间接还原的文件)占一行。该表存储在 msdb 数据库中。
restorefilegroup
restorefilegroup 表中每个已还原的文件组占一行。该表存储在 msdb 数据库中。
restorehistory
restorehistory 表中每个还原操作占一行。该表存储在 msdb 数据库中。
msdb 表 和视图 记录权限 logship job mirror replication 例如sqlserver 复制 master 视图dm_repl_articlesmysql能看源代码.可惜sqlserver 的log察看不够方便
图形化基于windows 平台 看什么显示慢 .linux可以研究深入很多技术细节. linux 的总体感觉db强大好多
from master.dbo.sysdatabases
from master.dbo.sysdatabases where name<> "tempdb"