首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

怎么在VFP的程序中,自动建立在SQL SERVER2000中的新帐套

2012-03-05 
如何在VFP的程序中,自动建立在SQL SERVER2000中的新帐套?如何在VFP的程序中,自动建立在SQLSERVER2000中的

如何在VFP的程序中,自动建立在SQL SERVER2000中的新帐套?
如何在VFP的程序中,自动建立在SQL   SERVER2000中的新帐套?

这个问题对我来说是车到山前了,但没有找到路。很想请十豆三这类高手指点一下,这里先谢谢了。

我的解决思路是:1、用已有SQL   SERVER2000帐套(只留结构)作完整备份,备用。
                                2、通过VFP程序连接SQL   SERVER2000   的Master,并使用
                                      CREATE   DATABASE   指定名称、存储位置建立一个“空帐套”。
                                3、通过调用RESTORE   DATABASE   强制将备用帐套恢复到新建帐套上

这个过程如能实现,即方便又简单。但是实际过程中,前两步没有问题,第三步没有通过,我用的是:“restore   database   新帐套名   from   disk= '备用帐套名及路径 '   WITH   RELPACE”。
        这个过程:只保留了新帐套在SQL2000中的名称,但新帐套的.mdf及.ldf文件的“文件名”都是原来备用帐套的,存储位置也回到原备用帐套的位置。
        使用SQL2000的企业管理器--所有任务--还原数据库,是可以强制将备用帐套引入新建帐套的(保留新帐套名称,存储位置及保留.mdf及.ldf的新帐套名称)。但它是怎样实现的,我不知道。我只能请各位高手不吝赐教了。

[解决办法]
这是个SQL Server问题,与VFP无关。


以下是SQL SERVER帮助中解决方法:

如何用新的名称还原数据库 (Transact-SQL)
用新名称还原数据库

执行 RESTORE FILELISTONLY 语句以确定数据库备份中文件的数量及名称(可选)。


执行 RESTORE DATABASE 语句以还原数据库备份,同时指定:
数据库的新名称。


要从其中还原数据库备份的备份设备。


NORECOVERY 子句,前提是还原了文件备份后,还要应用事务日志备份。否则应指定 RECOVERY 子句。
如果要应用事务日志备份,则事务日志备份必须包含备份文件时的时间。

如果文件名已经存在,则为每个要还原到新位置的文件指定 MOVE 子句。例如,在同一台服务器上创建现有数据库的复本以便用于测试可能是必要的。在这种情况下,由于原始数据库的数据库文件已经存在,因此在还原操作期间,创建数据库复本时需要指定不同的文件名。
示例
下例创建一个称为 MyNwind2_Test 的新数据库。MyNwind2_Test 是现有 MyNwind2 数据库的复本,它包含两个文件:MyNwind2_data 和 MyNwind2_log。由于 MyNwind2 数据库已经存在,因此在还原操作期间需要移动备份中的文件。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件的数目和逻辑及物理名称。

USE master
GO
-- First determine the number and names of the files in the backup.
-- MyNwind_2 is the name of the backup device.
RESTORE FILELISTONLY
FROM MyNwind_2
-- Restore the files for MyNwind2_Test.
RESTORE DATABASE MyNwind2_Test
FROM MyNwind_2
WITH RECOVERY,
MOVE 'MyNwind2_data ' TO 'D:\MyData\MyNwind2_Test_data.mdf ',
MOVE 'MyNwind2_log ' TO 'D:\MyData\MyNwind2_Test_log.ldf '
GO

热点排行