sql server 初级问题

djtop123 2005-08-04 06:36:08
做分布式查询,两台数据库服务器A,B. 在B服务器中做如下操作:查询A服务器上某数据库表,查询结果插入到B服务器某数据库表.请高手指点,说一下大概步骤.还有这里的事务控制怎么做?
...全文
74 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Andy__Huang 2005-08-04
第一種方法:

第一步:創建鏈結伺服器
exec sp_addlinkedserver 'server_lnk','','SQLOLEDB','遠端伺服器名或ip位址'
exec sp_addlinkedsrvlogin ' server _lnk','false',null,'用戶名','密碼'
第二步:
insert into server_lnk.sdb2.dbo.table2(col1,col2,col3....)
select (col1,col2,col3....) from table1


第二種方法:
insert into OPENDATASOURCE('sqloledb','data source=服務器B;user id=用戶名;password=密碼').數據庫.dbo.Table2(col1,col2,col3....)
select col1,col2,col3.... from table1

注明:在服務器A上運行查詢,不用指明服務器A的名稱
回复
sunqi_790817 2005-08-04
SELECT a.* into tb_b
FROM OPENROWSET('SQLOLEDB','dta-bjb';'sa';'',
'SELECT * FROM syh.dbo.tb_a') as a

上例为B服务器中当前库中,生成新表tb_b,从服务器dta-bjb中syh数据库中tb_a中读取所有数据,用户SA,口令为空
回复
sunqi_790817 2005-08-04
use 某数据库表 /*b服务器上*/

SELECT a.* into b服务器上某新数据库表
FROM OPENROWSET('SQLOLEDB','a服务器名或IP';'sa';'口令',
'SELECT * FROM a服务器上某数据库表') as a

测试一下
回复
zlp321002 2005-08-04
--简单的,如果数据表不存在,
--是不是这个意思?? A,B表示数据库!
select * into B..测试 from A..表
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-08-04 06:36
社区公告
暂无公告