当前位置:首页 » 云服务器 » 如何查询sql跨服务器

如何查询sql跨服务器

发布时间: 2022-12-13 23:21:25

⑴ mysql跨服务器查询

当然是不能直接跨服务器查询了。但是,如果你有足够的权限,可以变通一下。就是MYSQL的同步复制
使s2作为s1的从服务器,同步数据库d1到s2,这样s1做了更改后s2上也会有d1且d1也会随之改变数据,再在s2上执行同台服务器上的跨库查询就方便多了

关于如何设置“MYSQL的复制”,请到网站下载MYSQL参考手册,里边有详细的说明

如果不明白,可以HI我

⑵ 如何跨实例查询sql

Exec sp_droplinkedsrvlogin DBVIP,Null
Exec sp_dropserver DBVIP
EXEC sp_addlinkedserver
@server='DBVIP',--被访问的服务器别名
@srvproct='',
@provider='SQLOLEDB',
@datasrc="/Server2" --要访问的服务器
EXEC sp_addlinkedsrvlogin
'DBVIP', --被访问的服务器别名
'false',
NULL,
'sa', --帐号
'thankyoubobby' --密码
Select * from DBVIP.pubs.dbo.orders
--查看当前链接情况:
select * from sys.servers;
--使用 sp_helpserver 来显示可用的服务器
Exec sp_helpserver
--删除已经存在的某个链接
Exec sp_droplinkedsrvlogin 服务器别名,Null
Exec sp_dropserver 服务器别名
--使用sp_addlinkedserver来增加链接
EXEC sp_addlinkedserver
@server='192.168.2.66',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:JOY)
@srvproct='',
@provider='SQLOLEDB',
@datasrc='192.168.2.66' --要访问的服务器
--使用sp_addlinkedsrvlogin 来增加用户登录链接
EXEC sp_addlinkedsrvlogin
'192.168.2.66', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY)
'false',
NULL,
'sa', --帐号
'test123' --密码
使用举例(访问目标服务器上的数据库Music,查看其中表test的内容):
如果建立链接时的别名是目标服务器IP,即192.168.2.66
则:
select * from [192.168.2.66].[Music].dbo.test
如果建立链接时的别名是JOY,
则:
select * from [JOY].[Music].dbo.test
可能会遇到的问题:
exec sp_dropserver 'JOY'执行失败,
报错信息:仍有对服务器 'JOY' 的远程登录或链接登录。
解决方法:
exec sp_droplinkedsrvlogin 'JOY',null
exec sp_dropserver 'JOY'

⑶ sql数据库中跨不同数据库服务器的查询

--SQLServer跨服务器查询
--创建链接服务器(连接的保密要自己想办法解决啦!)
execsp_addlinkedserver'LKSV','','SQLOLEDB','远程服务器名或ip地址'
execsp_addlinkedsrvlogin'LKSV','false',null,'用户名','密码'
--查询实例
select*fromLKSV.数据库名.dbo.表名

⑷ 如何在mysql中进行跨服务器或者跨端口查询,就像sql server中的链接服务器一样的

创建链接服务器,
之后就可以直接使用,例如:
select from 链接服务器名.odb.[database].[table]

⑸ 跨服务器查询导入数据的sql语句

insert
into
MICS_WorkPlan_RestDays
select
*
from
OPENROWSET('SQLOLEDB',
'SERVER=192.168.2.97;uid=用户名;pwd=密码;Database=数据库','select
*
from
v_restdays(sql语句,可执行存储过程)')
as
a
此语句可用来将另一服务器中的数据插入到本数据库中的某一表内

⑹ 如何在SQL SERVER跨服务器查询数据库

--创建链接服务器

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 本地表

⑺ sql跨服务器查询,并将值赋给变量

sql跨服务器查询

select*from
OPENDATASOURCE('SQLOLEDB','DataSource=服务器;DBN=源数据库名;UID=用户名;PWD=密码').源数据库名.dbo.[表名]

若是赋值变量,你则可声明变量,并赋值

declare@aasvarchar(50)
selecttop1@a=字段名from
OPENDATASOURCE('SQLOLEDB','DataSource=服务器;DBN=源数据库名;UID=用户名;PWD=密码').源数据库名.dbo.[表名]

select@aasa


但上述查询需要开启外围数据库查询

先选中 master 数据库,新建一个查询,执行以下的sql

开户外围:

execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure


关闭外围:

execsp_configure'showadvancedoptions',0
reconfigure
execsp_configure'AdHocDistributedQueries',0
reconfigure

⑻ SQL 跨服务器查询问题!!!

错误说明无法连接到192.168.0.245这台服务器,你可以:
检查一下本机及服务器的防火墙有没有特殊的设置,导致冲突;
另外检查一下本机的SQL Server客户端协议是否启用了TCP/IP协议;
你还可以用查询分析器直接连接到192.168.0.245的数据库,看看能否成功,能成功的话说明SQLOLEDB连接驱动有问题,可以修复一下。
我能想到的就这么多了,希望对你有帮助

⑼ sql数据库跨服务器查询,不同表,不同数据量的并列显示

用事物实现,具体比较麻烦。你可以用临时表来实现,首先从A数据库中查到数据放到某一个临时表1中,再从B数据库中查到数据放到某一个临时表2中,然后再进行第二次查询。中间注意事物的回滚,否则如果某个数据库连接错误就会导致数据不对。
如果你不明白什么是数据库的事务,你就去查一下,不是很难得。

⑽ SQL数据库跨库查询语句怎么写

1、同一个服务器跨数据库查询
select a.列1,a.列2,b.列1,b.列1,
from 数据1.dob.查询表1 a inner Join 数据2.dbo.查询表2 b
on b.关联字段=a.关联字段
where 条件
2、不同服务跨数据库查询:
首先创建链接服务器,后查询方法与1类似,只是查询时需要把数据链接名称添加到查询中。
具体操作参看:http://blog.csdn.net/htl258/article/details/5695391

热点内容
创建存储空间 发布:2024-05-18 21:20:57 浏览:120
sql日期和时间 发布:2024-05-18 21:16:19 浏览:141
安卓网页怎么截取 发布:2024-05-18 20:53:56 浏览:970
在配置更新的时候没电关机怎么办 发布:2024-05-18 20:36:10 浏览:927
win7访问win2000 发布:2024-05-18 20:27:41 浏览:388
青岛人社局密码多少 发布:2024-05-18 20:19:10 浏览:734
无法存储呼叫转移 发布:2024-05-18 20:18:30 浏览:126
数据库的调优 发布:2024-05-18 20:18:29 浏览:346
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:991
linux删除连接 发布:2024-05-18 20:06:56 浏览:822