sql server 初级问题

djtop123 2005-08-04 06:36:08
做分布式查询,两台数据库服务器A,B. 在B服务器中做如下操作:查询A服务器上某数据库表,查询结果插入到B服务器某数据库表.请高手指点,说一下大概步骤.还有这里的事务控制怎么做?
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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..表

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧