SQL7.0数据库的复制???(500分)!!! (100分)

J

jammi

Unregistered / Unconfirmed
GUEST, unregistred user!
现在SQL7.0已有一数据库名为 A,我想在客户端通过程序实现复制A数据库成一个新的数
据库B,有什么好方法?500分送上!!!
 
写个备份sql语句就行了
 
呵呵,应该是
backup/restore
这个方法比较完整
 
详细一些?在程序里如何实现?c/s结构
 
Yes.
备份,然后在恢复时将数据库名写成B就行了。
这也是帮助里写的最好的改名方法。
 
用sql语句呀.backup database RESTORE DATABASE,不就结了. 不过恢复时要断开和你数据库的的连接,切换数据库
 
通过系统自带的共能可以实现,sql server的复制功能有3种,各有不同,看看帮助就可以解决
 
//Query连接的是SQL SERVER中的Master数据库
Query.SQL.Clear;
Query.SQL.Add('backup database A to disk=''c:/temp.dat''');
Query.SQL.Add(restore database B from disk=''c:/temp.dat'' with replace');
Query.ExecSQL;
 
希望你的表的拥有者不是用户的,不然有点麻烦。该用户在恢复时会被隐蔽掉;
 
也可以用系统存储过程做,好像是sp_attach什么的,帮助中有
 
我想楼主的意思是不是异地数据库复制啊?
可用DTS,更简单的办法用bulk insert或是bcp
 
执行Query.SQL.Add(restore database B from disk=''c:/temp.dat'' with replace')时
出错:
The file 'c:/mssql7/data/A.mdf' cannot be used by RESTORE. Consider using
the WITH MOVE option to identify a valid location for the file.
 
如何对一数据库改名字?
 
请看SQL70的帮助,具体参数是什么,不记得的了,WITH MOVE意思好像是以前
的这个备份所有的目录和现在的文件目录不一致,在后面还要有参数,好长的。。。。。。。。。。。。。。。。。。
 
所有的办法都在异地可以实现,但在本地。。。。。。。
只能使用DTS,或者是SQL自带的导入导出。
 
用2000吧!
 
Sql Server 2000 中 :

BACKUP DATABASE DataBaseName
TO DISK = 'c:/myback.bak'
将数据库备份到c:/myback.bak文件;

RESTORE DATABASE DataBaseName
FROM DISK = 'c:/myback.bak'
从c:/myback.bak中恢复数据库
 
我用的是sql7.0啊?
 
顶部