首页 > 数据库 >Sqlserver中使用DBLINK

Sqlserver中使用DBLINK

时间:2023-09-06 09:48:42浏览次数:42  
标签:DBO JOY sp Sqlserver DBLINK 表名 使用 服务器 SELECT

Sqlserver中使用DBLINK
一、 创建链接服务器

1、使用sp_addlinkedserver来增加链接

EXEC sp_addlinkedserver
@server='192.168.2.66',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:JOY)
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.2.66' --要访问的服务器
2、使用sp_addlinkedsrvlogin 来增加用户登录链接

EXEC sp_addlinkedsrvlogin
'192.168.2.66', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY)
'false',
NULL,
'sa', --帐号
'test123' --密码
3、查看当前链接情况:

select * from sys.servers;
4、使用 sp_helpserver 来显示可用的服务器

Exec sp_helpserver
5、删除已经存在的某个链接

Exec sp_droplinkedsrvlogin 服务器别名,Null
Exec sp_dropserver 服务器别名
EXEC SP_DROPSERVER'ITSV' ,'DROPLOGINS'
可能会遇到的问题:
exec sp_dropserver 'JOY’执行失败,

报错信息:仍有对服务器 ‘JOY’ 的远程登录或链接登录。

解决方法:

exec sp_droplinkedsrvlogin 'JOY',null

exec sp_dropserver 'JOY'
6、查询示例

SELECT * FROM ITSV.数据库名.DBO.表名
举例(访问目标服务器上的数据库Music,查看其中表test的内容):
如果建立链接时的别名是目标服务器IP,即192.168.2.66 ,则:

select * from [192.168.2.66].[Music].dbo.test
如果建立链接时的别名是JOY, 则:

select * from [JOY].[Music].dbo.test
7、导入示例

SELECT * INTO 表 FROM ITSV.数据库名.DBO.表名
二、连接远程/局域网数据(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 BSET B.列B=A.列B
FROM OPENQUERY(ITSV , 'SELECT * FROM 数据库.DBO.表名')AS A
INNER JOIN 本地表 BON 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 本地表

 

转发自洞幺人生

https://www.cnblogs.com/fhuafeng/p/16683981.html

标签:DBO,JOY,sp,Sqlserver,DBLINK,表名,使用,服务器,SELECT
From: https://www.cnblogs.com/19li/p/17681452.html

相关文章

  • 类与继承及修饰符public 、private 、protected 的使用方法
    1.什么是类类可以理解成为一个模板,通过这个模板可以实例化某一个具体对象比如说:我们定义一个动物类,通过这个动物模板可以实例化成为猫或者其他具体的动物2.类的基本使用我们需要创建一个动物类;这个动物有姓名、【默认值小可爱,字符串类型】年龄、【默认值20,数字类型】性......
  • live-server_live-server的安装与使用
    安装npminstall-glive-server启用直接在命令行输入live-server命令便可以启动本地服务器,它会在当前文件夹下的任何文件(css文件除外)被修改时自动刷新当前打开的页面(无论该文件是否被当前页面所依赖)css文件被更改时,当前打开页面会同样会同步样式的修改,但......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • Python类属性与方法的使用
      #类属性与方法的使用classGoods:id_count=0#装饰器写法,@classmethod用来定义类方法@classmethoddefgenerate_id(cls):cls.id_count+=1returncls.id_countdef__init__(self):#商品的唯一序号,00001,00002,使用zfill......
  • 集群版 FastDFS 的部署和使用
    生产环境中一般不可能将用户上传的文件存放在单机,绝大多数情况下会搭建文件服务器集群,确保文件的互相备份和高可用。上一篇博客已经对FastDFS分布式文件系统进行了介绍,这里不再赘述。由于我个人笔记本电脑性能有限,因此本篇博客将使用2台虚拟机搭建FastDFS集群,实现2台机器......
  • Terraform 变量的使用(4)
    1变量定义变量Terraform可以将变量的内容写到一个单独的文件中,是main文件引用此文件的定义的变量的值,便于使用阅读。上接 Terraform创建第一个云基础设施(3)创建云基础设施的Terraform文件的基础上进行修改。$catvariables.tfvariable"region"{//变量名......
  • vue3探索——使用ref与$parent实现父子组件间通信
    在vue3中,可以使用vue3的APIdefineExpose()函数结合ref或者$parent,实现父子组件数据的传递。子组件向父组件传递数据defineExpose()和ref子组件:通过defineExpose()函数,向外暴露响应式数据或者方法//src/components/son.vue<template><div><h1>儿子有${{so......
  • Mybatisplus中如何使用databaseId来适配多种数据库
    Mybatisplus中如何使用databaseId来适配多种数据库当使用MyBatisPlus进行数据库访问时,我们可能会面临多数据库的情况,例如在同一个应用程序中同时使用MySQL和Oracle。在这种情况下,我们需要根据当前的数据库环境来选择执行相应的SQL语句。MyBatisPlus提供了一个名为databaseId的特......
  • 使用 vue 渲染静态模板
    最近再一次需要做纯静态页面(无任何脚本语言,只保留css和html),以往我直接使用ejs生成,但是工作中一直使用jsx和vue来组装页面,就突发奇想,难道react、vue不能只渲染纯静态页面吗?有了这个想法,我就想验证下可行性,万能百度开始,找了一圈,发现基本都是需要脚本依赖的,这就意味着必......
  • 七牛云的使用
    准备工作进入七牛云官网注册账号→绑定邮箱→完成认证登录七牛云→点击右上角头像→进入个人中心→进入密钥管理->复制AK和SK(待会儿要用到)点击左上角列表按钮→展开产品浮层→点击对象存储Kodo→进入空间管理→新建空间→记住存储空间名称(待会儿要用到......