专业编程基础技术教程

网站首页 > 基础教程 正文

SqlServer 数据库备份(sqlserver数据库备份出错)

ccvgpt 2024-08-03 12:37:26 基础教程 50 ℃

1应保证数据库运行在完整恢复模式

2、使用任务计划定时进行数据备份(完整+差异)和日志备份

SqlServer 数据库备份(sqlserver数据库备份出错)

3、使用压缩备份选项来减少磁盘占用

4、应建立自动定期检查及报警机制。检查磁盘剩余空间,以确保有足够的磁盘空间数据增长和进行下一次备份

5、程序应定期清理备份文件

6、定期删除msdb中的备份和还原记录

7、当数据库从简单恢复模式切换到完整恢复模式下,应立即完整备份数据库来修复断裂的日志链

8、测试备份文件的可用性

最后附上数据库备份脚本

declare @filename varchar(1024)

declare @path varchar(1024)

declare @databaseName varchar(1024)

set @path = N'D:\Develop\DB_Backup\';

set @databaseName = 'DatabaseName'

declare @extension_name varchar(16)

set @extension_name = N'bak';

set @filename = @databaseName +'_'+ convert(varchar(10), getdate(), 120)

set @filename = replace(@filename, ':', '')

set @filename = replace(@filename, '-', '')

set @filename = replace(@filename, ' ', '')

set @filename = @filename + N'.' + @extension_name

-- 得到完整目标文件,数据库将备份到这个文件夹中

set @filename = @path + @filename

select @filename

-- 开始备份, @databaseName 是需要备份的数据库, COMPRESSION 参数表示压缩,可节省磁盘空间

backup database @databaseName to disk = @filename with noformat, noinit, name = N'完整 数据库 备份', skip, norewind, nounload, stats = 10, COMPRESSION

-- 删除31天前的备份文件

declare @olddate datetime

select @olddate=getdate()-31

-- 执行删除

execute master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1

Go

最近发表
标签列表