最新公告
  • 欢迎您光临猴王源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • SQL Server跨服务器操作数据库的图文方法

    SQL Server跨服务器操作数据库的图文方法 最后编辑:2022-12-05
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    给大家带来了关于SQL的相关知识,其中主要介绍了SQL Server跨服务器操作数据库的图文方法,SQL Server Management Studio (SSMS) 是用于管理SQL Server 基础结构的集成环境,下面一起来看一下,希望对大家有帮助。

    SQL Server跨服务器操作数据库的图文方法

    基础知识介绍

    以SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。

    SQL Server Management Studio (SSMS) 是用于管理SQL Server 基础结构的集成环境。 使用 SSMS,可以访问、配置、管理和开发 SQL Server、Azure SQL 数据库和 SQL 数据仓库的所有组件。 SSMS 在一个综合实用工具中汇集了大量图形工具和丰富的脚本编辑器,为各种技能水平的开发者和数据库管理员提供对 SQL Server 的访问权限。

    SQL Server跨服务器操作数据库的图文方法

    什么是跨服务器操作?

    跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查。

    为什么要进行跨服务器操作

    随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服务器操作了。

    跨服务器操作的工具是什么?

    DBLINK(数据库链接),顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

    方法一:用SSMS创建SQL Server远程链接服务器(LinkedServer)–简单链接到远程SqlServer

    1. 打开SSMS –>登录到本地数据库 –> 服务器对象 –> 链接服务器(右键) –> 新建链接服务器,如下图:

    SQL Server跨服务器操作数据库的图文方法

    2. 在弹出的对话框中输入相关信息

    ● 在【链接服务器】输入对方服务器的IP地址;

    ● 在【服务器类型】中选择【SQL Server】;

    SQL Server跨服务器操作数据库的图文方法

    3. 点击左侧的【安全性】,出现如下页面,在第3步中输入对方数据库的账号密码即可。

    SQL Server跨服务器操作数据库的图文方法

    点击确定按钮后,链接服务器(LinkedServer)就创建成功了。这时可以看到创建好的链接服务器:

    SQL Server跨服务器操作数据库的图文方法

    查看链接服务器的代码: 在创建好的链接服务器上点右键,编写链接服务器脚本为 –> Create到 –>新查询编辑器窗口,即可打开刚刚创建的链接服务器的脚本。

    SQL Server跨服务器操作数据库的图文方法

    –链接服务器(LinkedServer)创建完成后会自动生成相关代码 —— 链接到远程SQLServer数据库:

    1. EXEC master.dbo.sp_addlinkedserver @server = N‘192.168.110.189,1433’,@srvproduct=N‘SQL Server’;
    2.  @rmtsrvname
    3. EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N‘192.168.110.189’,@useself=N‘False’,@locallogin=NULL,@rmtuser=N‘sa’,@rmtpassword=‘########’;

    注意: 这里有一个弊端,那就是链接的是整个远程SqlServer中的所有数据库(一般只需要一个特定的数据库),而且链接服务器的名称是个IP且无法自定义! 所以,最好的方式还是通过代码直接创建链接数据库(见“三、代码详解”)。

    链接服务器(LinkedServer)就创建成功后,我们就可以用创建好的DBLINK链接到远程的Linked服务器了。下面我们用创建好的试着查询对方服务器上的表来验证一下。

    –查询链接服务器(LinkedServer)中数据的方法: [DBLINK名].[对方数据库名].[对方数据库下模式名].[对方数据库表名]

    1. SELECT * FROM [192.168.110.189].[erp25new].[dbo].[fee_data]

    上面FROM字段后面依此是[DBLINK名].[对方数据库名].[对方数据库下模式名].[对方数据库表名],表名前面的这些内容一个都不能少。

    查询结果如下图:

    SQL Server跨服务器操作数据库的图文方法

    方法二:SSMS创建SQLServer链接服务器(LinkedServer)–自定义链接到SqlServer的其它数据库

    1. 【常规】选择页:

    SQL Server跨服务器操作数据库的图文方法

    2.【安全性】选择页:

    SQL Server跨服务器操作数据库的图文方法

    自定义链接数据库到SQLServer【新建链接服务器】对话框中需输入的相关信息说明:

    1.【常规】页

    ● 在【链接服务器】中,输入 自定义的链接服务器别名,如:DBLINK_TO_TESTDB

    ● 在【服务器类型】中选择【其他数据源】;

    ▶[提供程序]中选择 第一个Microsoft OLE DB Provider for SQL Server

    ▶[产品名称]中,可以空白不填,也可以填写SQL Server { 注意提供程序是OLE DB Provider for SQL Server时产品名称这里必须为空白!}

    ▶[数据源]中 远程数据库的地址,端口实例名 ,如 10.10.0.73,1433MSSQLSERVER

    ▶[访问接口字符串]中,可以空着不填; 也可以填下方的:(注意######是密码,请换成自己的密码)

    Provider=sqloledb;Data Source=10.10.0.73,1433MSSQLSERVER;Initial Catalog=TESTDB;User Id=apps;Password=#####;

    ▶[目录]就是数据库名称,这里填上我们需要远程连上的数据库 TESTDB (可以换成自己实际的)。

    2.【安全性】页

    ● 选择【使用此安全上下文建立连接(M)】

    ▶[远程登录]: 远程数据库的连接账号

    ▶[使用密码]: 远程数据库连接账号的密码

    –链接服务器(LinkedServer)创建完成后会自动生成相关代码 —— 链接到远程的SQLServer数据库(自定义):

    EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'',@provider=N'SQLNCLI', @datasrc=N'10.10.0.73';EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'DBLINK_TO_TESTDB',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########';
     
    /****** 实际例子 系统生成的Object: LinkedServer [DBLINK_TO_TESTDB] ******/
     
    USE [master]
     
    GO
     
    EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'10.10.0.73,1433MSSQLSERVER', @catalog=N'TESTDB'
     
    /*For security reasons the linked server remote logins password is changed with ########*/
     
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########'

    其他方式: 提供程序换成其它的, 如本机SQL Server Native Client 11.0 (SQL Server Native Client 11.0 不支持连接到SQL Server 2000或更早的版本) 等

    SQL Server跨服务器操作数据库的图文方法

    方法三:用SSMS创建SQLServer链接服务器(LinkedServer)–链接到非SqlServer的其它数据库

    SQL Server跨服务器操作数据库的图文方法

    四、代码详解:方法一和方法二是通过SSMS直接操作的,下方直接使用sql脚本来创建链接服务器(LinkedServer)

    A. SSMS链接到远程SQLServer数据库

    (本地SQLServer数据库链接服务器(LinkedServer)到远程SQLServer数据库。)

    –LinkedServer链接到远程SQLServer数据库:

    –1. 声明将要链接的‘链接名称(自定义)’,远程数据库产品名(或别名),(提供商,数据库服务器地址及实例名)

    EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'SQL Server';

    –2. 声明‘链接名称(自定义)’,@useself=N’False’,@locallogin=NULL,将要链接的数据库服务器的账号和密码

    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

    B. SSMS链接到远程非SQLServer数据库

    (本地SQLServer数据库链接服务器(LinkedServer)到远程非SQLServer的数据库。如远程的MySQLOracle等数据库。)

    –链接到远程的非SQLServerd数据库(如链接到远程MySQL、Oracle等数据库):

    –1. 声明‘自定义的链接名称’,远程数据库产品名(或别名),提供商,数据库服务器地址及实例名

    EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189';-

    -2. 声明登录信息 ‘自定义的链接名称’,@useself=N’False’,@locallogin=NULL,远程数据库的账号和密码

    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

    实际例子-SQL Server通过Linkserver连接MySql

    –通过SSMS链接到远程MySql数据库(SQL Server连接MySql)–使用的访问接口为:MySql Provider for OLE DB–

    EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_MysqlTESTDB', @srvproduct = N'MySql', @provider = N'MSDASQL', @provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=10.167.69.6,3306/sytv;Database=TESTDB;User=root;Password=root;Option=3';--
     
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DBLINK_TO_MysqlTESTDB', @useself = N'False', @locallogin = N'10.167.69.6,3306/sytv', @rmtuser = N'root', @rmtpassword = N'root';

    实际例子-SQL Server通过Linkserver连接Oracle

    –通过SSMS链接到远程Oracle数据库(SQL Server连接Oracle)

     

    –使用的访问接口为:Oracle Provider for OLE DB

    USE [master] 
    GO 
    --Declare Oracle OLEDB 'OraOLEDB.Oracle': 
    EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1;--Create the Linked Server to the ECT database in Oracle: 
    EXEC sp_addlinkedserver 'DBLINK_TO_OraTESTDB', 'Oracle', 'OraOLEDB.Oracle', '10.167.69.6/prt';--EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_OraTESTDB', @srvproduct=N'oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'10.167.69.6/orcl' 
    --Create the Remote Login for the Oracle Linked Server: 
    EXEC sp_addlinkedsrvlogin @rmtsrvname=N'DBLINK_TO_OraTESTDB',@useself=N'False',@locallogin=N'apps',@rmtuser=N'SYSTEM',@rmtpassword='######';  
    --最后可以测试一下是否连接成功 --select * from openquery(DBLINK_TO_OraTESTDB,'select * from SYSTEM.HELP');

     

    猜你在找

    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
    5.如有侵权请联系客服邮件214496599@qq.com

    猴王源码 » SQL Server跨服务器操作数据库的图文方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    猴王源码
    一个高级程序员模板开发平台
    • 2022-12-05Hi,初次和大家见面了,请多关照!

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 214496599@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 526会员总数(位)
    • 21004资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1343稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
  • © 2018 Theme by - 2022 本站资源仅供研究学习请勿商用以及产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系 陇ICP备2021003313号

  • XML地图 | 站长导航
         
    升级SVIP尊享更多特权立即升级