MSSQL Server 计划任务

Jack Wang 2014-08-27 12:08:36
各位大鸟好, 现想通过MSSQL 计划任务去做数据备备份, 现使用模式,Full 未检查完整性等。

那位大鸟能提供一个备份方案, 完整性, 索引相关的。谢谢!
...全文
202 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-08-27
  • 打赏
  • 举报
回复
维护计划就有图形化操作啊
Jack Wang 2014-08-27
  • 打赏
  • 举报
回复
感谢,感谢!我去尝试一下!
發糞塗牆 2014-08-27
  • 打赏
  • 举报
回复
第一个备份是担心由于比如空间不足(维护索引需要很多空间)或者影响其他功能的运行,所以先备份再操作,这也是DBA的其中一个必做的事情:做任何事情前都要备份。 第二个备份是最后真正需要的备份。不然万一刚维护完索引就出错需要还原,那么维护操作就白做了。 如果你空间足够,那么两次备份都可以保留,如果不够,只需要保留后面一个。 T-SQL备份的脚本类似这个,但是功能性不强:
DECLARE @dbname NVARCHAR(20)
SET @dbname=N'xxx'--你需要备份的库名
--定义备份时间,精确到秒
DECLARE @date NVARCHAR(64)
SELECT  @date = SUBSTRING(CONVERT(VARCHAR(20), GETDATE(), 121), 1, 4) + '_'
        + SUBSTRING(CONVERT(VARCHAR(20), GETDATE(), 121), 6, 2) + '_'
        + SUBSTRING(CONVERT(VARCHAR(20), GETDATE(), 121), 9, 2) + '_'
        + CONVERT(CHAR(2), DATEPART(hh, GETDATE()))
        + CONVERT(CHAR(2), DATEPART(mi, GETDATE()))
        + CONVERT(CHAR(2), DATEPART(ss, GETDATE()))
--定义要备份的数据库名
DECLARE @db NVARCHAR(20)
SET @db = '' + @dbname + ''
--定义备份文件的全名
DECLARE @bakname NVARCHAR(128)
SELECT  @bakname = @db + '_' + @date
--定义备份存放路径
DECLARE @disk NVARCHAR(256)
SELECT  @disk = N'C:\DBbackups\' + @bakname + '.bak'  --备份路径名
--定义备份描述
DECLARE @name NVARCHAR(128)
SELECT  @name = @db + '-完整 数据库 备份'
--定义错误信息
DECLARE @error NVARCHAR(128)
SELECT  @error = '验证失败。找不到数据库“' + @db + '”的备份信息。'

BACKUP DATABASE @db TO  DISK = @disk WITH  COPY_ONLY, NOFORMAT, NOINIT,  
NAME =@name, SKIP, NOREWIND, NOUNLOAD,  STATS = 10, CHECKSUM ;
DECLARE @backupSetId AS INT
SELECT  @backupSetId = position
FROM    msdb..backupset
WHERE   database_name = @db
        AND backup_set_id = ( SELECT    MAX(backup_set_id)
                              FROM      msdb..backupset
                              WHERE     database_name = @db
                            )
IF @backupSetId IS NULL 
    BEGIN
        RAISERROR(@error, 16, 1)
    END
RESTORE VERIFYONLY FROM  DISK = @disk WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
GO
如果你觉得麻烦,那就:检查完整性→维护索引→备份 然后独立一个维护计划作为删除备份文件。其他的你在工作中慢慢改进吧
Jack Wang 2014-08-27
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
[quote=引用 2 楼 wuyan0319 的回复:] [quote=引用 1 楼 DBA_Huangzj 的回复:] 维护计划就有图形化操作啊
是的大鸟, 我们要一个思路, 例如说:应该先校验完整性, 索引, 备份, 定期删除等. 能否给我一个思路。小弟感谢![/quote] 先检验完整性,完整备份(为了避免重建索引时出问题,重建完保证没问题的话可以删除),索引可以暴力一点全部重建也可以考虑用T-SQL重建碎片较大的且体积较大的索引。再备份(这个是主要的) 定期删除可以考虑独立一个维护计划。 大鸟好, 感谢回复, 您的建议是我所需要的, (为了避免重建索引时出问题,重建完保证没问题的话可以删除),索引可以暴力一点全部重建也可以考虑用T-SQL重建碎片较大的且体积较大的索引。再备份(这个是主要的) 这个是我不太明白的!有没有相关文章或例子可以参考!感谢感谢! 再次感谢!
發糞塗牆 2014-08-27
  • 打赏
  • 举报
回复
引用 2 楼 wuyan0319 的回复:
引用 1 楼 DBA_Huangzj 的回复:
维护计划就有图形化操作啊
是的大鸟, 我们要一个思路, 例如说:应该先校验完整性, 索引, 备份, 定期删除等. 能否给我一个思路。小弟感谢!
先检验完整性,完整备份(为了避免重建索引时出问题,重建完保证没问题的话可以删除),索引可以暴力一点全部重建也可以考虑用T-SQL重建碎片较大的且体积较大的索引。再备份(这个是主要的) 定期删除可以考虑独立一个维护计划。
引用 3 楼 wuyan0319 的回复:
引用 1 楼 DBA_Huangzj 的回复:
维护计划就有图形化操作啊
或者说理物热备份应该怎么实现?
物理热备份怎么理解?
Jack Wang 2014-08-27
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
维护计划就有图形化操作啊
或者说理物热备份应该怎么实现?
Jack Wang 2014-08-27
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
维护计划就有图形化操作啊
是的大鸟, 我们要一个思路, 例如说:应该先校验完整性, 索引, 备份, 定期删除等. 能否给我一个思路。小弟感谢!

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧