SQL Server创建链接服务器的方法

设置SQLServer链接服务器与安全配置
本文详细描述了如何在SQLServer中使用`sp_addlinkedserver`和`sp_addlinkedsrvlogin`存储过程创建链接服务器,并设置了相应的连接选项和安全措施,包括更改远程登录密码以增强安全性。
USE [master]
GO

/****** Object:  LinkedServer [ix5]    Script Date: 2023-10-09 10:06:35 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'ix5', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'.'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ix5',@useself=N'False',@locallogin=NULL,@rmtuser=N'publishinternallogin',@rmtpassword='########'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'rpc', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'rpc out', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'use remote collation', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ix5', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO


执行以上语句就可以创建链接服务器,这个只适用我们公司

但在执行的时候需要改一些地方。

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ix5',@useself=N'False',@locallogin=NULL,@rmtuser=N'publishinternallogin',@rmtpassword='########'

@rmtsrvname=N'ix5'    “ix5”就是链接服务器的名称

@rmtuser=N'publishinternallogin'     “publishinternallogin”就是登录名,可以写成“sa”

@rmtpassword='########'      “########”就是登录名的密码,要写你自己的

SQL Server 创建连接服务器链接服务器)有以下几种方法: ### 使用 SQL Server Management Studio 图形界面创建 1. 打开 Microsoft SQL Server Management Studio。 2. 打开服务器对象 -> 右键链接服务器 -> 点击新建链接服务器。 3. 在常规选项卡中,输入一个自定义的别名,在数据源选项输入需要链接的数据库地址和端口号。 4. 在安全性选项卡中,选择(使用此安全上下文建立连接)然后输入链接数据库的登录账号和密码。 5. 在服务器选项中设置自己需要的,点击确定。 6. 进行测试 [^3]。 ### 使用 SQL 语句创建 #### 示例 1:在当前数据库(假设为 follow_up)中创建一个链接服务器的连接 ```sql -- 创建链接服务器 EXEC sp_addlinkedserver @server = 'CloudantDBServer', -- 连接服务器的名称(自定义) @srvproduct = '', -- 产品名称,可以为空 @provider = 'MSDASQL', -- 提供程序,通常使用 SQL Native Client @datasrc = 'CloudantDB_v3'; -- 本机数据库的数据源名称(数据库名) -- 创建登录映射 EXEC sp_addlinkedsrvlogin @rmtsrvname = 'CloudantDBServer', -- 引用要链接服务器名称,同上,名称需要一样 @useself = 'false', @locallogin = null, -- 本地 SQL Server 登录用户名 @rmtuser = 'CloudantDB_username', -- 被链接数据库的用户名 @rmtpassword = 'CloudantDB_password'; -- 被链接数据库的密码 ``` [^1] #### 示例 2:创建 MySQL 链接服务器 ```sql -- 创建链接服务器 EXEC sp_addlinkedserver @server = 'MySQL_Linked', @srvproduct = 'MySQL', @provider = 'MSDASQL', @datasrc = 'MySQL_DSN'; -- ODBC 数据源名称 -- 验证链接服务器 -- 查询远程表 SELECT * FROM RemoteSQL.AdventureWorks2019.dbo.Employees; -- 执行远程存储过程 EXEC RemoteSQL.master.dbo.sp_helpdb; ``` [^2] #### 示例 3: ```sql -- 创建链接服务器 EXEC master.dbo.sp_addlinkedserver @server = N'TEST', @srvproduct=N'TEST', @provider=N'SQLNCLI', @datasrc=N'127.147.157.17,1433' -- 创建登录映射 /* 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'sa', @rmtpassword='########' ``` [^3] ### 针对 Oracle 数据库创建链接服务器的特殊步骤 安装完成之后,会出现 OraOLEDB.Oracle 这个访问接口,接口的属性里有一些设置选项,酌情勾选,建议勾选“允许进程内”。在系统环境变量中,为 Path 添加“C:\oracleOLEDB;C:\oracleOLEDB\bin;”(计算机属性 - 高级系统设置 - 高级 - 环境变量 - 系统环境变量 - Path),如果之前安装过 instant client,需要删除其路径,否则在 SQL Server 管理工具创建链接服务器时会卡死。如果是供外部应用程序访问,还需要配置 TNS_ADMIN 和 NLS_LANG 环境变量。由于 OLEDB 驱动支持 EZCONNECT,所以不配置 tnsnames.ora 也是可以的,使用 IP:端口号/实例名即可创建链接服务器 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五毒幽泉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值