sql Server数据库如何将一个库中的数据导入另一个库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Server数据库如何将一个库中的数据导入另一个库中相关的知识,希望对你有一定的参考价值。

参考技术A 如果是一个实例下的不同数据库的话,跟操作同一个库时是一样的
只要在要操作的表前面添加数据库名相关信息就可以了
如:
select
*
into
test1.dbo.to
from
test2.dbo.from
如果是不同实例的数据库之间的导入就比较麻烦了,
首先需开启Distributed
Transaction
Coordinator服务
然后给你个例子
--以下例子为MSDN上邹建大哥的例子,给你做下参考
/*--同步两个数据库的示例
有数据
srv1.库名..author有字段:id,name,phone,
srv2.库名..author有字段:id,name,telphone,adress
要求:
srv1.库名..author增加记录则srv1.库名..author记录增加
srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新
--*/
--大致的处理步骤
--1.在
srv1
上创建连接服务器,以便在
srv1
中操作
srv2,实现同步
exec
sp_addlinkedserver
'srv2','','SQLOLEDB','srv2的sql实例名或ip'
exec
sp_addlinkedsrvlogin
'srv2','false',null,'用户名','密码'
go
--2.在
srv1

srv2
这两台电脑中,启动
msdtc(分布式事务处理服务),并且设置为自动启动
我的电脑--控制面板--管理工具--服务--右键
Distributed
Transaction
Coordinator--属性--启动--并将启动类型设置为自动启动
go
--然后创建一个作业定时调用上面的同步处理存储过程就行了
企业管理器
--管理
--SQL
Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL
脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
exec
p_process
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL
Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键
SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
--3.实现同步处理的方法2,定时同步
--在srv1中创建如下的同步处理存储过程
create
proc
p_process
as
--更新修改过的数据
update
b
set
name=i.name,telphone=i.telphone
from
srv2.库名.dbo.author
b,author
i
where
b.id=i.id
and
(b.name
>
i.name
or
b.telphone
>
i.telphone)
--插入新增的数据
insert
srv2.库名.dbo.author(id,name,telphone)
select
id,name,telphone
from
author
i
where
not
exists(
select
*
from
srv2.库名.dbo.author
where
id=i.id)
--删除已经删除的数据(如果需要的话)
delete
b
from
srv2.库名.dbo.author
b
where
not
exists(
select
*
from
author
where
id=b.id)
go
--

以上是关于sql Server数据库如何将一个库中的数据导入另一个库中的主要内容,如果未能解决你的问题,请参考以下文章

如何将Oracle中的数据导入到SQL Server中来

如何远程把sql server中的数据导入到本地sql server中?

将文本文件导入 SSIS 中的 SQL Server 表的数据流如何工作?

如何将excel表中的数据导入到sql server表中?

如何将excel数据导入sql server

如何将数据库sql server2008中的数据库生成脚本输出