DECLARE @BkTime nvarchar(20)
DECLARE @DelTime nvarchar(8)
DECLARE @DBName varchar(30)
Declare @BkFolder nvarchar(100)
Declare @BkLogFileVarchar(200)
Declare @DelFile Varchar(200)
Declare @BkFile Varchar(200)
--设置需要备份的数据库
SET @DBName='database'
--设定存放备份文件的文件夹
SET @BkFolder='\\20.1.250.83\share'
--取得备份时间
SET @CurDate=getdate()
SET @BkTime=convert(nvarchar(8),@CurDate,112)+'.'+Convert(nvarchar(2),DatePart(hh,@CurDate)) + '.' +
Convert(nvarchar(2),DatePart(mi,@CurDate))+ '.' +
Convert(nvarchar(2),DatePart(ss,@CurDate))
--取得需要删除的备份文件的时间
SET @DelTime=convert(nvarchar(8),getdate()-3,112)
--生成删除备份文件语句
SET @DelFile ='Del "' + @BkFolder + '\' + @DBName +@DelTime +'*'
--生成数据库备份文件名
SET @BkFile=@BkFolder + '\'+@DBName + @BkTime + '.BAK'
--执行删除备份文件
Exec Master.dbo.Xp_CmdShell @DelFile
--备份数据库
BackUp Database @DBName To Disk=@BkFile
注意事项:
如果遇到通过网上邻居访问一切正常。在企业管理器里对数据库进行备份,备份文件名写入网络路径'\\20.1.250.83\share';系统却提示“无法验证该备份文件位置是否存在。是否要使用该备份文件位置?”点击确认后,系统提示“无法打开备份设备,设备出现错误或设备脱机....”时,因该注意:SQL Server并不以Windows登录帐户访问网络共享,而是以SQL Server服务的启动帐户来访问。这时应该进入“管理工具-->服务-->MSSQLSERVER-->登录”将启动服务的本地系统帐户修改为本机管理员,重新启动服务后,问题解决。
还应该注意:同样的“本地系统”帐户,在2000与2003里的权限却不尽相同,2000及以前的系统中的本地系统帐户只具备本地最高权限,而2003及以后的系统中,该账户在具备本机完全访问权限的同时,可以像其他域帐户一样访问网络资源。所以在2003中,却不用修改SQL服务的登录帐户就能顺利备份。
按照下面的方法恢复就可以了:1、把你空间上的数据文件和日志文件全部备份。
2、当你的空间数据库出现问题的时候,删除原有数据库后,停止数据库服务。
3、把备份的数据库文件和日志文件覆盖到新建的数据库文件和日志文件上。
4、重启数据库服务,这样数据库就被恢复了。
---
以上,希望对你有所帮助。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)