数据库备份sqlserver数据库:保障你的数据安全(备份sqlserver)
数据库备份对保护用户的数据证明是至关重要的,尤其是在数据库失去后需要重建原来的状态,对于sqlsrever数据库有已有不少备份方法可以选择。
常规备份方法
1. SQL server备份
SQLSERVER数据库备份类似于Windows文件备份,它使用 Backup 类来表示备份,下面是备份代码实现:
(1)首先,找到连接实例的Server对象:
Server srv = new Server(new ServerConnection(instance));
(2)实例化Backup类对象:
Backup bk = new Backup();
(3)初始化备份:
bk.Action = BackupActionType.Database;
bk.Database = “数据库名”;
bk.Devices.AddDevice(“备份文件路径及名称”, DeviceType.File);
(4)执行备份操作:
bk.SqlBackup(srv);
有几个重要的备份选项,加入上面的代码中:
bk.Initialize = true;
bk.Checksum = true;
bk.ContinueAfterError = true;
2. 全备份
此类型备份归档数据库中所有已使用页,因此它会获取数据库中的所有内容,无论它是可用的还是无效的,全备份可以在零时间内使您的数据库恢复到一个确定的状态,不需要任何完成后log文件:
DECLARE @backupSetId AS INT
EXECUTE master.dbo.xp_create_subdir ‘d:\sqlbackup’
BACKUP DATABASE [数据库名]
TO DISK =N’D:\SQLbackup\数据库名.bak’
— add备份文件路径
WITH
INIT,
NAME = N’数据库名-全备份’,
DESCRIPTION = N’全备份’,
SKIP,
REWIND,
NOUNLOAD,
STATS = 1
—
SELECT @backupSetId = position
FROM msdb.dbo.backupset
WHERE database_name=N’数据库名’
AND backup_set_id=(SELECT MAX(backup_set_id) FROM msdb.dbo.backupset
WHERE database_name=N’数据库名’)
RESTORE VERIFYONLY
FROM DISK = N’D:\sqlbackup\数据库名.bak’
WITH FILE = @backupSetId,
NOUNLOAD,
NOREWIND
优势备份方法:
(1)定期备份:这科技是一种有效的定期备份,可以在规定的时间间隔执行,比如每日早上3点,每周一定时间等,可以获取某一时间段的最新数据,以防数据损坏样被覆盖:
(2)增量备份:只备份在上次备份至此次备份期间发生变化的数据,一般约定一个归档系统,如当文件发生变化时则备份,用不把“垃圾”文件也一并备份,既节省磁带空间(也可以利用硬盘备份增量备份),又可以保证最新也得数据:
最后,数据备份是一项重要而极具技术性的活动,正确合理的备份技术方案对于保护sqlsrever数据库的数据安全至关重要。