跨服务器访问数据库

如果两个数据库在不同的服务器实例上,那么可以先建立链接服务器,然后再查询:

--1.建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N‘Link‘,
                                   @srvproduct=‘ms‘,
                                   @provider=N‘SQLNCLI‘,
                                   @datasrc=N‘远程服务器ip,端口‘

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N‘Link‘,
                                    @useself=N‘False‘,
                                    @locallogin=NULL,
                                    @rmtuser=N‘用户名‘,
                                    @rmtpassword=‘密码‘

--2.然后再运行下面的查询,比如:数据库2在远程服务器上
select r.id,
       r.bjName,
       count(*)
from 数据库1.dbo.Rooms r
inner join [Link].数据库2.dbo.renshu rs
        on r.id = rs.BJID
group by r.id,
         r.bjName
时间: 2024-10-05 12:46:28

跨服务器访问数据库的相关文章

SQLServer跨服务器访问数据库(openrowset/opendatasource/openquery)

1.启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的 启用Ad Hoc Distributed Queries的方法 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作

SQL Server跨库跨服务器访问实现

我们经常会遇到一个数据库要访问另一个数据库,或者一台服务器要访问另一台服务器里面的数据库. 那么这个如何实现的呢? 相信看完这篇文章你就懂了! 同一台服务器跨库访问实现 1. 首先创建两个数据库CrossLibraryTable1,CrossLibraryTable2 --创建CrossLibraryTable1脚本: use master --打开master数据库,一般的创建语句都在master中执行. go if exists (select * from sysdatabases whe

Oracle跨服务器访问使用dblink

当要夸服务器访问数据库时,我们可以使用dblink建立连接服务器间的通道,本地创建了远程数据库的dblink后,访问远程服务器的库就像操作一个库一样了. 如果需要创建全局 DBLink,首先要确定用户有创建 dblink 的权限: 使用此语句查看:select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); grant create  database link to 用户名    //给本机用户分配创建l

[linux] mysql跨服务器访问, iptables设置

跨服务器mysql访问, iptables配置 1> 设置被访问机器的mysql权限 grant all privileges on *.* to [email protected]"[ip]" identified by "[pass]" with grant option;  // 授权, 可以根据情况设置不同权限, 本sql赋予远程机器所有mysql操作权限 flush privileges; // 刷新权限 use mysql;   // mysql数

sqlserver 跨服务器访问数据

需求:两个一模一样的表,分别分布在两个服务器的数据库上,现在要在一个表中,查看这两个表的内容,并让Id排序 1:在本地数据库查询分析器中,运行以下两段语句: --创建链接服务器 exec sp_addlinkedserver@server= 'otherdb',                  --给要链接的服务器取的别名,也可以用下面的IP地址@srvproduct= '',                       --空@provider='SQLOLEDB',           

SQL Server跨服务器的数据库迁移

1. 使用sql server task中back up 任务,保存为*.bak 文件. 2. 在另一个server中restore database,如果已经存在这个database,会覆盖之前的数据.如果不存在,会创建一个同名数据库. 期间出现的问题: 登录用户失去访问权限,使用以下命令: Alter user name with login login_name    login_name 是登录server的账号,name是失去访问此数据库权限的用户.

mysql远程服务器访问数据库

创建一个MySQL用户,并设置可以远程访问 grant usage on *.* to 'fred'@'localhost' identified by 'fred';//创建用户fred密码ferd select host,user,password from mysql.user where user='fred';//查看记录 grant all privileges on *.* to [email protected]'%'identified by 'fred';//设置可以远程访问

【总结】跨服务器操作数据库

update TaskServer.dbo.TaoBaoItemInfoes set TradeCount30 =(select SOLD_QUANTITY_30 from openrowset( 'SQLOLEDB ', '192.168.1.3'; 'root'; 'jeqee1!',TAOBAO_QA.dbo.TB_ITM_INFO) a where TaskServer.dbo.TaoBaoItemInfoes.Id=a.num_iid)   如果遇到错误   SQL Server 阻止

sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。

用sql server自带的消息队列service borker,调用存储过程中,执行了一个跨库的操作,先是用了一个用户,权限什么都给够了,但是一直提示 服务器主体 "user" 无法在当前安全上下文下访问数据库 "dbname". 想着是架构方面的问题,换sa还是不行.查到微软的一篇文章 提示需要开数据库的 ALTER DATABASE current_db SET TRUSTWORTHY ON 我把跨的那个库设置了还是不行.最后自己写测试代码,代码如下: cre