豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: sqlserver链接服务器

🤖 Ai回答:
在 SQL Server 中,链接服务器(Linked Server) 是一种允许你从一个 SQL Server 实例访问另一个数据源(如另一个 SQL Server、Oracle、MySQL、Access、Excel 等)的功能。通过链接服务器,你可以像查询本地表一样跨服务器查询远程数据。

一、创建链接服务器(以 SQL Server 到 SQL Server 为例)

方法1:使用 T-SQL 脚本

sql
1、添加链接服务器
EXEC sp_addlinkedserver
@server = 'RemoteServer', 链接服务器名称(自定义)
@srvproduct = '', 产品名(SQL Server 可为空)
@provider = 'SQLNCLI', 提供程序(SQL Server Native Client)
@datasrc = '192.168.1.100'; 远程 SQL Server 的 IP 或主机名

2、设置登录映射(将本地登录映射到远程登录)
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'RemoteServer', 链接服务器名
@useself = 'false', 是否使用当前登录凭据(false 表示指定用户名/密码)
@locallogin = NULL, 本地登录(NULL 表示所有本地用户)
@rmtuser = 'remote_user', 远程用户名
@rmtpassword = 'remote_password'; 远程密码

注意:`SQLNCLI` 是旧版驱动,SQL Server 2012+ 推荐使用 `MSOLEDBSQL`(需安装 OLE DB Driver for SQL Server)或 `SQLNCLI11`。

方法2:使用 SSMS 图形界面

1、打开 SQL Server Management Studio (SSMS)
2、展开 服务器对象 → 右键 链接服务器 → 新建链接服务器
3、填写:
链接服务器:自定义名称(如 `REMOTE_DB`)
服务器类型:选择“其他数据源”
提供程序:选择 `SQL Server Native Client` 或 `Microsoft OLE DB Provider for SQL Server`
产品名称:留空(SQL Server)
数据源:远程服务器的 IP 或主机名
4、在 安全性 选项卡中:
选择“使用此安全上下文建立连接”
输入远程数据库的 用户名 和 密码
5、点击 确定

二、使用链接服务器查询数据

sql
查询远程表
SELECT * FROM RemoteServer.DatabaseName.SchemaName.TableName;

示例
SELECT * FROM RemoteServer.AdventureWorks2019.dbo.Customers;

格式:`[链接服务器名].[数据库名].[架构名].[表名]`

三、删除链接服务器

sql
删除登录映射
EXEC sp_droplinkedsrvlogin
@rmtsrvname = 'RemoteServer',
@locallogin = NULL;

删除链接服务器
EXEC sp_dropserver
@server = 'RemoteServer',
@droplogins = 'droplogins';

四、常见问题与注意事项

1、权限问题
确保用于连接远程服务器的账户具有足够的权限(如 `db_datareader`)。
如果使用 Windows 身份验证,需启用 Kerberos 委派(复杂,一般推荐用 SQL 账户)。

2、防火墙与网络
确保远程 SQL Server 的 1433 端口(默认)已开放。
远程 SQL Server 已启用 TCP/IP 协议(通过 SQL Server 配置管理器)。

3、性能问题
跨服务器查询性能较差,尤其是大表 JOIN。
建议尽量在远程服务器上执行聚合操作,再拉取结果。

4、支持的数据源
除了 SQL Server,链接服务器还支持:
Oracle(需安装 Oracle 客户端)
MySQL(需 ODBC 或 OLE DB 驱动)
Access / Excel(通过 Jet 或 ACE 驱动)
其他 OLE DB 兼容数据源

五、测试链接服务器是否成功

sql
测试连接
EXEC sp_testlinkedserver @servername = 'RemoteServer';

查看所有链接服务器
SELECT * FROM sys.servers WHERE is_linked = 1;

如果返回错误,请检查:
网络连通性
登录凭据
防火墙设置
SQL Server Browser 服务(若使用命名实例)

如果你有具体的场景(比如链接 Oracle、MySQL,或遇到错误),可以告诉我,我会提供针对性解决方案!

Ai作答

📣 商家广告


星座

高防vps

广告招商

贵阳用友软件

月饼


0

IP地址: 179.135.139.36

搜索次数: 14

提问时间: 2025-11-11 22:57:16

🛒 域名购买

❓️ 热门提问

🌐 域名评估

最新挖掘

🖌 热门作画

🤝 关于我们

🗨 加入群聊

🔗 友情链接

🧰 站长工具
📢

温馨提示

本站所有 问答 均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉

技术支持

本站由 🟢 豌豆Ai 提供技术支持,使用的最新版: 豌豆Ai站群搜索引擎系统 V.25.10.25 搭建本站。

上一篇 88915 88916 88917 下一篇