跨实例访问 现有一SQL2005的数据库服务器,里面装了两个实例,A,B,我想在实例A中访问B实例的数据,如何写USER AGOSELECT * FROM B.SYS.COLUMNS为什么这样写不是我想要的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不同服务器数据库之间的数据操作--创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' --查询 select * FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') --把本地表导入远程表 insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') select * from 本地表 --更新本地表 update b set b.列B=a.列B FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT * FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta --把本地表导入远程表 insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名 select * from 默认实例用 机器名(或ip) 命名实例用 机器名\实例名(或ip\实例名) exec sp_addlinkedserver 'ITSV', '', 'SQLOLEDB', '机器名\实例名'exec sp_addlinkedsrvlogin 'ITSV', 'false',null, '用户名', '密码' select * from ITSV.数据库名.dbo.表名这样试试. USER A GO SELECT * FROM B.SYS.COLUMNS 你这样是两个实例?..只是一个SQLServer数据库系统..两个数据库间的访问 这样要用link的办法吗,那有点晕吧 EXEC sp_addlinkedserver @server='ServerName', --要建立的连接服务器名,例如andy @srvproduct='', @provider='SQLNCLI', @datasrc='ip address' or 'hostname\instancename'--ip地址加端口,或者主机名\实例名 例如: mycomputer\judyEXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'andy',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa' --用户名,@rmtpassword='########'--该用户的密码访问:select * from andy.master.sys.columns 关于两个表的查询,请指教 SQLServer2005 数据库邮件的问题 请教不能连接 SQL2005的原因 求一简单触发器 在线等...关于修改SQL SERVER端口号问题 SQL中问题。。。。 能不能强制不让出现这种错误“将截断字符串或二进制数据,语句中止”,在线等 批量更新的问题,在线等待! 如何生成随机数据1,2 在查询分析器中怎样在执行一查询时输出查询开始时间和查询结束时间,也就是当前查询执行所花时间 快来注册免费ASP全能空间。永远免费! 用变量求超期天数
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例
select * from ITSV.数据库名.dbo.表名 --导入示例
select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset --查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表 --更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from
机器名(或ip)
命名实例用
机器名\实例名(或ip\实例名)
exec sp_addlinkedsrvlogin 'ITSV', 'false',null, '用户名', '密码' select * from ITSV.数据库名.dbo.表名
这样试试.
GO
SELECT * FROM B.SYS.COLUMNS
@server='ServerName', --要建立的连接服务器名,例如andy
@srvproduct='',
@provider='SQLNCLI',
@datasrc='ip address' or 'hostname\instancename'--ip地址加端口,或者主机名\实例名 例如: mycomputer\judy
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'andy'
,@useself=N'False'
,@locallogin=NULL
,@rmtuser=N'sa' --用户名
,@rmtpassword='########'--该用户的密码访问:select * from andy.master.sys.columns