一、数据库的恢复:
1.首先说明下,我们在数据库恢复过程中可能遇到的情况,有以下几种:
还原或删除sql server 2008数据库时,经常烩出现:
那么我们的处理办法是,
首先去尝试把sqlserver的实例服务重新启动2次之后,重新进入 Manage Studio之后,进入数据库设置选项重新设置为单用户即可。
如果以上方法不可行,那么可以直接使用以下语句,处理:
use master ALTER DATABASE 数据库名 SET OFFLINE WITH ROLLBACK IMMEDIATE --主备份还原 restore database 数据库名 from disk='F:\Sample_backup_2014_11_30_010003_1686962.bak' with replace,norecovery --增量备份还原 restore database 数据库名 from disk='F:\Sample_backup_2014_11_30_010003_1686962.bak' with recovery ALTER DATABASE 数据库名 SET ONLINE WITH ROLLBACK IMMEDIATE go
二、数据库的备份:
1.如果我们使用自动备份的话,如下:
sql SERVER 2008 自动备份数据库脚本,构建存储过程名,调用存储过程完成,可由计划任务执行。
创建过程名:
declare @filename varchar(1024) declare @path varchar(1024) set @path = N'F:\Backup\'; declare @extension_name varchar(16) set @extension_name = N'bak'; set @filename = convert(varchar(1024),getdate(),120) set @filename = replace(@filename,':','') set @filename = replace(@filename,'-',' ','') set @filename = @filename + '_' + convert (varchar(3),datepart(ms,getdate())) + N'.' + @extension_name -- 得到完整目标文件,数据库将备份到这个中 set @filename = @path + @filename -- select @filename -- 开始备份,Sample是需要备份的数据库,COMPRESSION 参数表示压缩,可节省磁盘空间 backup database [Sample] to disk = @filename with noformat,noinit,name = N'Sample-完整数据库备份',skip,norewind,nounload,stats = 10,COMPRESSION -- 删除20天前的备份文件 declare @olddate datetime select @olddate=getdate()-20 -- 执行删除 execute master.dbo.xp_delete_file 0,@path,@extension_name,@olddate,1 go
数据库备份关键语句:
declare @a varchar(100) set @a = 'F:\Sample_backup_(' + convert(varchar,12) + ').bak' backup database itsm_test_816 to disk = @a backup database 数据库名称 to disk = 'F:\Sample_backup_2014_11_30_010003_1686962.bak'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。