在程序中如何进行sqlserver2000的备份与恢复???

liliang800207 2003-11-12 09:10:49
如题
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
insert2003 2003-11-13
  • 打赏
  • 举报
回复
andyzq(小强)

你也写得太全了吧


这个问题CSDN上面很多
只要搜索一下
保你有收获
YewPu 2003-11-12
  • 打赏
  • 举报
回复
来得也太晚了!
佣工7001 2003-11-12
  • 打赏
  • 举报
回复
哇,来的太晚了
地狱余烬 2003-11-12
  • 打赏
  • 举报
回复
up,其实就是调用sqlserver的过程
andyzq 2003-11-12
  • 打赏
  • 举报
回复
备份

string ls_datebase_name,ls_bkfilename,ls_sql
string docname, named
int li_filenum

li_filenum = GetFileSaveName("备份数据库,请输入备份文件名称", docname, named, "","数据库备份文件,") //打开文件选择对话框
ls_bkfilename = docname //备份文件完整路径
sle_1.text = docname //显示文件路径

if len(docname) = 0 then
messagebox('提示','请输入文件名称')
return
end if

ls_datebase_name = "enterprise"

//备份数据库
sqlca.autocommit = true
ls_sql = "BACKUP DATABASE" + space(1) + ls_datebase_name + space(1) + "to disk='" + ls_bkfilename + "'"


EXECUTE IMMEDIATE :ls_sql;

if sqlca.sqlcode <> 0 then
messagebox('提示','备份数据库时出错!')
return
else
messagebox("提示","数据库备份完毕")
end if


还原:

string ls_datebase_name,ls_date_logic_name,ls_log_logic_name,ls_date_reality_name,ls_log_reality_name,ls_bkfilename, ls_sql
string ls_reg_path, ls_install_path, docname, named
int li_filenum

ls_reg_path = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Uninstall\Microsoft SQL Server 2000"
RegistryGet(ls_reg_path, "InstallLocation", RegString!, ls_install_path)
ls_install_path = ls_install_path + "\Data\"

li_filenum = GetFileOpenName("读取备份文件", docname, named, "","数据库备份文件,") //打开文件选择对话框
ls_bkfilename = "'" + docname + "'" //备份文件完整路径

sle_1.text = docname

if len(docname) = 0 then
messagebox('提示','未选中有效的文件!')
return
end if

ls_datebase_name = "enterprise"
ls_date_logic_name = "enterprise_data"
ls_log_logic_name = "enterprise_log"
ls_date_reality_name = "enterprise.mdf"
ls_log_reality_name = "enterprise.ldf"


//还原数据库
SQLCA.AutoCommit = true
ls_sql = "RESTORE DATABASE" + space(1) + ls_datebase_name + space(1) + "FROM DISK = " + ls_bkfilename + space(1) + &
"WITH MOVE" + space(1) + "'" + ls_date_logic_name + "'" + space(1) + "TO" + space(1) + "'" + ls_install_path + ls_date_reality_name + "'," + &
" MOVE" + space(1) + "'" + ls_log_logic_name + "'" + space(1) + "TO" + space(1) + "'" + ls_install_path + ls_log_reality_name + "'"

EXECUTE IMMEDIATE :ls_sql;

if sqlca.sqlcode = 0 then
messagebox("提示","数据库还原成功!")
else
messagebox("提示","还原数据库时出错!")
return
end if

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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