请问能做到吗?

charles_y 2002-11-14 10:51:12
我想把本机的一个数据库备份文件恢复到另一台计算机上,要求数据库文件要放到数据库服务器所在的机器上,而我所能知道的仅仅是数据库服务器的名字,请问:使用sql 语句能做到吗。
如:我的机器上有一个数据库备份文件叫 mydata.bak,里面包含了数据文件和log文件,我想在一个名叫dataserver的数据库服务器上建一个叫mydata的数据库,然后使用mydata.bak 恢复这个数据库(能一步完成也行),而且mydata 数据库文件必须放在dataserver所在的计算机上(机器名称不知道,ip地址不知道),请问使用sql语句能不能做到,如果能做到怎么做?谢谢。

ps: 数据库系统为sql server7.0或2000
...全文
46 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongquestion 2002-11-14
  • 打赏
  • 举报
回复
如果是备份文件,如下操作:
如果用ENTERPRISE MANAGER恢复,具体操作步骤如下:
1、打开ENTERPRISE MANAGER,展开到DATABASES。
2、在DATABASES上点右键,“所有任务”中选“RESTORY DATABASE”
3、在GENERAL标签页中选择“FROM DEVICE”,再点击“SELECT DEVICE”
4、在出现的窗口中点击“ADD”,再在窗口中选择“FILE NAME”,点击...按钮
5、选中您所创建的备份文件,即可成功。
如果用SQL语句,我只会通过*.mdf建立数据库,如下:
首先创建一个与原来数据库同名的数据库、LOGIN,然后将DATA文件夹中的*.mdf、*.ldf删除,将你以前备份的*.mdf考到DATA文件夹中,然后在用SQL语句:
exec sp_detach_db @db_name='dbname',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',
exec sp_attach_single_file_db 'dbname',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',
happydreamer 2002-11-14
  • 打赏
  • 举报
回复
把bak文件copy到dataserver上,再用resore命令恢复一下就可以了,但要注意文件的路径问题,可以用RESTORE FILELISTONLY看一下具体的路径
CrazyFor 2002-11-14
  • 打赏
  • 举报
回复
直接把库文件两个文件,拷到你的新机器上,拷的时候停一下SQL SERVER,再到新服务器上附加一下数据库就可以,比你备份再恢复简单多了。
蓝天 2002-11-14
  • 打赏
  • 举报
回复
用xp_cmdshell 执行net命令试试
charles_y 2002-11-14
  • 打赏
  • 举报
回复
*************************************************************
RESTORE FILELISTONLY
FROM DISK = 'mydata.bak'
*************************************************************

????

我不需要看文件,我都知道了,再说知道了也没用。
难道没人遇到过跟我一样的问题吗?
或者换一种方法,有没有人能告诉我怎样用SQL语句判断一个正在运行的数据库服务器是不是本机的数据库,感谢。
Jameszht 2002-11-14
  • 打赏
  • 举报
回复
RESTORE FILELISTONLY
FROM DISK = 'mydata.bak'
charles_y 2002-11-14
  • 打赏
  • 举报
回复
谢谢各位老大的发言,不过看来各位没明白我的意思
我"只知道该数据库服务器的名称",其他一概不知,更别说将文件拷贝过去了,或者说我对该数据库服务器所在的机器不享有任何权限,但我对该数据库服务器有完全的权限(包括创建,备份恢复数据库)。
我不能直接拷贝任何文件到服务器上去,但是需要将数据库文件放到该服务器上,所以只能求助于数据库服务器来完成这个功能,就是不知道能不能做到。

因为要在程序中完成,所以需要使用SQL语句。
目前我知道最好的做法是用 "create database 数据库名" 创建数据库,这样一来数据库文件就会放在缺省位置,但是进行恢复不知道怎么办
如果不用move 似乎不行,而用move 需要给文件指定位置,于是问题又来了,烦啊,难道真的做不到吗?
愉快的登山者 2002-11-14
  • 打赏
  • 举报
回复
只要能从你的机器上连接到那个服务器,就可以;
然后在企业管理器中可以进行恢复,将你的备份文件进行网络共享。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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