跨服务器与连接不同数据库 不跨服务器连接库存表

/********************链接数据库   *******************************/ 
exec   OPENDATASOURCE( 
                  'SQLOLEDB ', 
                  'Data   Source=远程ip;User   ID=sa;Password=密码 ' 
                  ).库名.dbo.存储过程名 

select   *   into   本地库名..表名   from   OPENDATASOURCE( 
                  'SQLOLEDB ', 
                  'Data   Source=远程ip;User   ID=sa;Password=密码 ' 
                  ).库名.dbo.表名 

insert   本地库名..表名   select   *   from   OPENDATASOURCE( 
                  'SQLOLEDB ', 
                  'Data   Source=远程ip;User   ID=sa;Password=密码 ' 
                  ).库名.dbo.表名 

或使用联结服务器: 
EXEC   sp_addlinkedserver   '别名 ', ' ', 'MSDASQL ',NULL,NULL, 'DRIVER={SQL   Server};SERVER=远程名;UID=用户;PWD=密码; ' 
exec   sp_addlinkedsrvlogin     @rmtsrvname= '别名 ',@useself= 'false ',@locallogin= 'sa ',@rmtuser= 'sa ',@rmtpassword= '密码 ' 
GO 
然后你就可以如下: 
select   *   from   别名.库名.dbo.表名 
insert   库名.dbo.表名   select   *   from   别名.库名.dbo.表名 
select   *   into   库名.dbo.新表名   from   别名.库名.dbo.表名 
go 

  

 

不跨服务器的不同数据库的操作,只需要在要操作的表前加上数据库名就行了. 

select   *   from   数据库1.dbo.表名 
select   *   from   数据库2.dbo.表名

  

posted @ 2011-11-03 13:43  小锋神  阅读(741)  评论(1编辑  收藏  举报