您的位置:程序门 -> vb -> 基础类



vb  还原 不同名数据库


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb 还原 不同名数据库
发表于:2007-06-23 15:24:59 楼主
我现在想在vb中,把数据aa备份,备份文件aa.bak,用来还原来数据库bb中,提示出错
aa.bak还原到aa中是可以的,但还原到bb中就不行,不同名的数据库还原,是不行的

我用如下语句还原的
restore   database   数据库名   from   disk   = '备份文件地址 '   with     replace

请高手指教,不同数据库之间的备份文件如何还原?
发表于:2007-06-23 18:01:201楼 得分:0
因为备份时,数据库名已经备份进文件中了,恢复后就自动建立原来的数据库名!
发表于:2007-06-23 21:49:092楼 得分:0
那要详细看看   sql   server   的帮助了
发表于:2007-06-25 18:40:573楼 得分:0
到底,应该怎么做呢?
发表于:2007-06-26 08:58:534楼 得分:0
up
发表于:2007-06-26 14:22:345楼 得分:0
有人知道不?
发表于:2007-06-26 14:23:356楼 得分:0
那么,如何从一个备份文件中读取这个数据库的名字呢?
发表于:2007-06-26 14:32:447楼 得分:0
connstr   =   "provider=sqloledb.1;persist   security   info=false;user   id=sa;password= "   &   trim(text3.text)   &   ";data   source= "   &   trim(text1.text)
                  conn.open   connstr
                  mkdir   app.path   &   "\data "
                  sqlstr   =   "restore   database   lw_main   from   disk= ' "   &   mydatabase   &   " '   with   replace,move   'lw_main_data '   to   ' "   &   app.path   &   "\data\lw_main_data.mdf ' "   _
                  &   ",move   'lw_main_log '   to   ' "   &   app.path   &   "\data\lw_main_log.ldf ' "
                  set   rs   =   nothing
                  rs.open   sqlstr,   conn,   adopenkeyset,   adlockoptimistic
                  msgbox   "数据库初始化操作完成!
发表于:2007-06-28 10:31:498楼 得分:0
好像不行啊,不同名称的数据库,还是不好还原
发表于:2007-07-03 13:25:039楼 得分:0
找到方法解决了,其实,把用aa.bak,恢复到bb数据库中的时候,如果本机不存在aa这个数据库,也不会出错的,但是如果本机存在aa这个数据库,就会出错了,我的解决方法的
1,把aa作备份,再删除
2,把aa.bak还原到bb.bak,用楼上ljw0131的方法,把物理文件名改掉,再把数据的逻辑文件名,和数据库名都改成bb的
3,创建新的数据库aa,用aa.bak还原,
这样就可以了,虽然有点烦,但总算是解决了.
不知道还有没有其它更好的方法.


快速检索

最新资讯
热门点击