SQL SERVER数据库,想导入到B服务器并保留原数据

2024-12-17 20:14:06
推荐回答(2个)
回答1:

一:不太明白你的意思,我理解你的意思是你想把A服务器的数据库还原到B服务器,但是又不想把B服务器数据库覆盖是吧?如果是这样那么就简单了。
二:在A服务器中选择该数据库,备份出来。右键-任务-备份。(我的是2005的,如果你的是2000的那么可能操作不太一样你可以在网上查下2000怎么备份)。
三:把备份出来的数据文件(数据库名.bak),放到B服务器中,然后在B服务器打开SQL Server Management Studio,连接上数据库后。邮件点击数据库-新建数据库-新建数据库操作比较简单,这里你的数据库名就不要和B服务器中已有的数据库名一样了。这里把数据库物理文件和日志文件路径设置好后,数据库就建成功了。然后右键该数据库-任务-还原-源设备-添加-找到刚才从A服务器拷贝过来的数据文件(数据库名.bak)-勾选上它-点击左边的选项-在这里“还原为”处找到刚才我们新建的数据库的物理文件位置和日志文件位置,分别选中,然后就可以点击确定了。如果在这里提示出错。那么你需要重启一次数据库(在开始-运行中输入net stop mssqlserver后等待数据库停止,然后再输入net start mssqlserver启动数据库)然后再点击确定,则数据库还原成功。
四:排序规则不一样。可以通过在新建查询中输入如下代码即可。
这里我们在B服务器中打开数据库,新建查询,输入
use master
--清除本数据库所有连接,因为修改数据库排序规则要独占数据库, 执行时间可能会长一点.
Alter DataBase 数据库名 Set Offline With RollBack After 10
--启用数据库
Alter DataBase 数据库名 Set Online

--修改排序规则为Chinese_PRC_CI_AS,注:本修改只影响被修改的数据库
Alter DataBase 数据库名 Collate Chinese_PRC_CI_AS

GO

以上操作完成后,则大功告成。这里完成的基础是在A服务器的数据库版本和B服务器的数据库版本一致或者是A服务器是2000的数据库,B服务器是2005的数据库。累~~~~ 汗! 我知道还有其他的方法,但是自己不知道怎么操作,有高手请指教,大家一起学习!

回答2:

你是否有足够的权限?如果有足够的权限,可以备份到本机

--如果有,可以用下面的方法,查询分析器中操作:

-- 创建共享目录
exec master.dbo.XP_cmdshell 'md c:\bak '
exec master.dbo.XP_cmdshell 'net share bak=c:\bak '

--进行数据备份
backup database 数据库 to disk= 'c:\bak\备份.bak '

/*--以下操作在我的电脑中进行:

打开我的电脑,地址栏中输入:
\\SQL服务器的计算机名\bak 复制里面的备份.bak到你的电脑就行了

--我的电脑中的操作结束--*/

--删除备份生成的文件
exec master..xp_cmdshell 'del c:\bak\备份.bak '

--删除共享
exec master.dbo.XP_cmdshell 'net share c:\bak /delete /y '
exec master.dbo.XP_cmdshell 'rd c:\bak '

--否则,你还是完全共享你本机的目录,用下面的方法备份:
backup database 数据库 to disk= '\\你的计算机名\共享目录名\备份文件名