在SQLSERVER中创建DBLINK

本文介绍了如何配置SQLSERVER到SQLSERVER及MYSQL的数据库链接(DBLINK),包括使用sp_addlinkedserver和sp_addlinkedsrvlogin存储过程的具体步骤,并展示了通过SELECT语句从链接服务器检索数据的方法。

 

配置SQLSERVER数据库的DBLINK

   exec  sp_addlinkedserver  @server='WAS_SMS',@srvproduct='',@provider='SQLOLEDB',@datasrc='10.131.20.100'

    exec  sp_addlinkedsrvlogin  'WAS_SMS','false', NULL,'CustomSMS','SqlGdn@InfoxMas2008'

select top 100 * from AS400.AS400_Extract.DBO.ORDUNA

 

配置SQLSERVER到MYSQL数据库的DBLINK

exec sp_addlinkedserver  @server = 'mysqltest', @srvproduct='mysql',@provider = 'msdasql', @datasrc = 'MY_TOMATO'

exec sp_addlinkedsrvlogin  @rmtsrvname='mysqltest',@useself=false,@locallogin='本地数据库的登陆用户',@rmtuser='MYSQL的用户名称',@rmtpassword='MYSQL的用户密码'

select  * from openquery(mysqltest,'select * from marketing_data')

这里的 MY_TOMATO是在WINDSOWS系统管理台中进行配置的ODBC,在SYSTEM DNS里增加的!

 

在 SQL Server 中,实现跨数据库查询的功能是通过 **Linked Server(链接服务器)** 来完成的。DBLink 的使用方法涉及创建链接服务器实例并配置登录信息,以便能够访问远程数据库的数据。以下是详细的使用方法和步骤。 ### 创建链接服务器 在 SQL Server 中,可以使用系统存储过程 `sp_addlinkedserver` 来创建链接服务器。此过程允许指定远程服务器的地址、数据库类型等信息。例如,将一个远程 SQL Server 实例添加为链接服务器: ```sql EXEC master.dbo.sp_addlinkedserver @server = '远程数据库地址', @srvproduct = 'SQL Server' ``` ### 配置链接服务器的登录信息 接下来,使用系统存储过程 `sp_addlinkedsrvlogin` 来配置链接服务器的登录凭据。这一步骤确保 SQL Server 能够以指定的身份验证方式访问远程服务器。例如: ```sql EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = '远程数据库地址', @useself = 'False', @locallogin = NULL, @rmtuser = '账号', @rmtpassword = '密码' ``` - `@rmtsrvname`:指定远程服务器的名称。 - `@useself`:指定是否使用当前登录的凭据 (`True`) 或提供其他凭据 (`False`)。 - `@rmtuser` 和 `@rmtpassword`:远程服务器的用户名和密码。 ### 查询远程数据库 创建配置完成后,可以通过四部分名称(`[服务器名].[数据库名].[架构名].[表名]`)来访问远程数据库中的数据。例如,查询远程数据库中的某张表: ```sql SELECT * FROM [远程数据库地址].[远程数据库名称].[dbo].[远程表名] ``` ### 更新或删除链接服务器 如果需要更新或删除链接服务器,可以使用以下命令: - **删除链接服务器**: ```sql EXEC sp_dropserver '远程数据库地址', 'droplogins' ``` - **更新链接服务器的配置**: 如果需要更新链接服务器的某些属性,可以重新运行 `sp_addlinkedserver` 或通过 SQL Server Management Studio (SSMS) 图形界面进行修改。 ### 注意事项 - 确保 SQL Server 的 **Ad Hoc Distributed Queries** 选项已启用,否则无法执行跨数据库查询。可以通过以下命令启用: ```sql EXEC sp_configure 'show advanced options', 1 RECONFIGURE EXEC sp_configure 'Ad Hoc Distributed Queries', 1 RECONFIGURE ``` - 链接服务器的性能可能会受到网络延迟和远程数据库负载的影响,因此建议在非高峰时段执行大规模查询操作。 - 对于异构数据库(如 Oracle、MySQL 等),需要使用对应的 ODBC 或 OLE DB 驱动程序,并确保 SQL Server 能够正确识别和连接这些数据源。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值