首页 > 数据库 >SQL Server 远程跨数据库服务器查询、导入数据(SQL)

SQL Server 远程跨数据库服务器查询、导入数据(SQL)

时间:2023-09-14 09:03:41浏览次数:48  
标签:remote dbo -- 数据库 Server 导入 SQL 服务器 server

/*1、创建链接服务器查询*/
--创建链接服务器
exec sp_addlinkedserver 'remote_server', '', 'SQLOLEDB', '远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'remote_server', 'false',null, '用户名', '密码'

--查询示例
select * from remote_server.数据库名.dbo.表名

--导入示例
select * into 表 from remote_server.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver 'remote_server', 'droplogins'


/*2、SQL临时连接远程/局域网数据(openrowset/openquery/opendatasource) */
--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 'remote_server', '', 'SQLOLEDB', '远程服务器名或ip地址'
--查询
select *
FROM openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名')
--把本地表导入远程表
insert openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(remote_server, 'SELECT * FROM 数据库.dbo.表名') as a
inner join 本地表 b on a.列A=b.列A

/*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

 

 

 

/*
sqlserver 连接远程sqlserver数据库
*/
/*1、新增链接服务器*/
exec sp_addlinkedserver
@server='remote_server', /*链接服务器的名称*/
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='110.1.2.3' /*要访问的服务器,逗号分割可加端口号*/
go

/*2、使用sp_addlinkedsrvlogin 来增加用户登录链接*/
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'remote_server', /*链接服务器的名称*/
@useself = 'false', /*指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname*/
@locallogin = 'sa', /*指定 SQL Server 登录用户*/
@rmtuser = 'sa', /*指定用户名*/
@rmtpassword = 'password' /*指定密码*/
go

/*3、数据查询*/
select * from [remote_server].[remote_db_name].dbo.remote_table_name;

/*4、删除链接*/
EXEC master.dbo.sp_dropserver @server=N'remote_server', @droplogins='droplogins'
go

 

 

 

 

 

SqlServer数据库:

--这句是映射一个远程数据库
EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server'

--这句是登录远程数据库
EXEC sp_addlinkedsrvlogin '远程数据库的IP或主机名', 'false', NULL, '登录名', '密码'

--登录后,可以用以下格式操作远程数据库中的对象
select * from [远程数据库的IP或主机名].[数据库名].[dbo].[表名]
 insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck
 

标签:remote,dbo,--,数据库,Server,导入,SQL,服务器,server
From: https://www.cnblogs.com/wwccc/p/17701328.html

相关文章

  • MySQL+MHA搭建&&性能优化
    MHA基础概念MHAMHA(MasterHighAvailability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上......
  • gorm stdErr = sql: Scan error on column index 0, name "total": converting NULL
    前言使用gorm查询时,报错:stdErr=sql:Scanerroroncolumnindex0,name"total":convertingNULLtofloat64isunsupported代码如下vartotalfloat64res:=db.Model(&model.Record{}).Select("sum(amount)astotal").Where("id=?andtyp......
  • mysql函数
     https://www.jb51.net/article/256828.htm#_label19 ......
  • ubuntu22.04安装并初始化postgresql
    ubuntu22.04自带其实是有数据库的,通过以下命令可以查看当前数据库的版本信息aptshowpostgresql 如果要安装新的数据库,可以执行以下命令sudoaptupdatesudoaptinstallpostgresqlpostgresql-contribpostgresql-contrib或者说contrib包,包含一些不属于P......
  • oracle中sql语句运行缓慢如何处理
    查看执行计划,查看句子消耗的资源和内部运行的逻辑,给数据量非常大的表格建立分区,查看有没有导致索引失效的语句,语句频繁对硬盘进行读写,可以将语句写成代码块(存储过程),减少硬盘I/O次数,使用优化器进行并行处理。当Oracle中的SQL语句运行缓慢时,可以采取以下几种处理方法:优化SQL语句:通过......
  • 执行一条 SQL 查询语句,期间发生了什么?
    执行一条SQL查询语句,期间发生了什么?连接器:建立连接,身份验证查询缓存:已经在mysql8.0被删除解析sql词法分析,解析关键词语法分析,根据词法分析得出的关键词判断语法是否有问题建立语法树执行sql预处理,检查表名和表字段是否存在,将select*的*转为全部字段优化,对sql语......
  • MySQL数据存放相关问题?
    MySQL的数据存放在哪个文件?MySQL的数据存放在哪个文件?存放在idb文件中表空间文件的结构是怎么样的?段-区-页-行,四个等级行:保存数据的最小单位页:mysql按照页读取数据,默认页大小为16KB区:B+树中每一层都是通过双向链表连接起来的,如果是以页为单位来分配存储空间,那么链表中......
  • CTyunOS安装MySQL8.0
    (CTyunOS安装MySQL8.0)最近天翼云搞活动,购了一台4U8G的服务器,这里讲解一下如何安装Mysql吧。1.yum安装yuminstall-ymysqlyuminstall-ymysql-commonyuminstall-ymysql-errmsgyuminstall-ymysql-libsyuminstall-ymysql-serveryum我们查询一下,可以看到有这......
  • Kingbase中手写Mysql底层函数DATE_FORMAT()
    Kingbase中手写Mysql底层函数DATE_FORMAT()分析底层函数的实现逻辑MySQL的DATE_FORMAT()函数其底层逻辑涉及多个组件和模块。以下是DATE_FORMAT()函数的大致实现逻辑:解析日期格式字符串:DATE_FORMAT()函数接受两个参数,一个是日期值,另一个是格式字符串。首先,MySQL解析格......
  • SQL优化建议
    后端程序员必备:SQL高性能优化指南!35+条优化建议立马GET!(qq.com)后端程序员必备:书写高质量SQL的30条建议(qq.com)MySQL高性能优化规范建议,速度收藏(qq.com)面试问题与回答谈谈你对SQL优化的经验这个问题涉及的面比较广,我说一下自己遇到过的首先是表的设计优化,用定......