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

在A服务器上有一个SQLSERVER数据库,想导入到B服务器,在B服务器上也有同一数据库,并且有数据,但比A服务器上数据库少一些表,还有些表相同但少字段(只少不多),数据... 在A服务器上有一个SQL SERVER数据库,想导入到B服务器,在B服务器上也有同一数据库,并且有数据,但比A服务器上数据库少一些表,还有些表相同但少字段(只少不多),数据库的的排序规则也不一样(A服务器上是Chinese_PRC_CS_AS,B服务器上是Compatibility_199_8200_0)。现在想将A的数据库导入B服务器,但要保留B服务器上原数据,因为表太多,想求一段程序自动导入原数据,拜谢。
实际上就是用A服务器上的数据库结构,导入B服务器上的数据。A的数据库结构大于B的数据库(多些表,有的表多字段)
展开
 我来答
like蓝狐
2010-08-13 · TA获得超过926个赞
知道小有建树答主
回答量:494
采纳率:0%
帮助的人:160万
展开全部
一:不太明白你的意思,我理解你的意思是你想把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的数据库。累~~~~ 汗! 我知道还有其他的方法,但是自己不知道怎么操作,有高手请指教,大家一起学习!
浅吟秋伤
2010-08-26 · TA获得超过1175个赞
知道大有可为答主
回答量:952
采纳率:0%
帮助的人:777万
展开全部
你是否有足够的权限?如果有足够的权限,可以备份到本机

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

-- 创建共享目录
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= '\\你的计算机名\共享目录名\备份文件名
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是魏茂峰
2010-08-11 · TA获得超过1242个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:198万
展开全部
先手动 把 缺少的 表 缺少的 字段补上吧 如果太麻烦的 话 也可以在一个asp 页面上做 读出来a 服务器上的 字段的值 然后插入b服务器上 我没有现成的 程序 但 完全可行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feixianxxx
2010-08-11 · TA获得超过2202个赞
知道大有可为答主
回答量:1273
采纳率:100%
帮助的人:1762万
展开全部
这个比较麻烦。。
最安全做法是:
先在2个服务器间建立一个链接服务器 然后利用这个LINK 进行表对表的插入

http://blog.csdn.net/htl258/archive/2010/06/26/5695391.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式