首页 > 解决方案 > 在 SQL Server 中创建数据库链接以连接另一台 PC?

问题描述

在 Oracle/SQLDeveloper 我使用

CONNECT TO username IDENTIFIED BY p123

用于分发项目,但在 SQL Server 中我不能这样做。

例如,我的意思是一台 PC是这台 PCPC1上的全局表,我希望其他 PC 能够访问它PC1,例如片段和分发,我在 SQL 开发人员中成功尝试,但在 SQL Server 中不能。

标签: sqlsql-serverfragment

解决方案


在远程计算机上,确保在防火墙配置中打开端口并启用 TCP: Microsoft SQL Server 端口

参考:链接服务器

USE [master]  
GO  
EXEC master.dbo.sp_addlinkedserver   
    @server = N'SRVR002\ACCTG',   
    @srvproduct=N'SQL Server' ;  
GO  

执行以下代码将链接服务器配置为使用正在使用链接服务器的登录名的域凭据。

EXEC master.dbo.sp_addlinkedsrvlogin   
    @rmtsrvname = N'SRVR002\ACCTG',   
    @locallogin = NULL ,   
    @useself = N'True' ;  
GO  

添加密码登录:参考:sp_addlinkedsrvlogin

EXEC sp_addlinkedsrvlogin
    @rmtsrvname = 'SRVR002\ACCTG',
    @useself = 'false',
    --@locallogin = 'MACHINENAME\windowsLogin' -- Restrict the connection to a local login
    @rmtuser = 'User',
    @rmtpassword = 'Password'

访问链接服务器:

SELECT name FROM [SRVR002\ACCTG].master.sys.databases ;  
GO  

您还可以通过 MSSQL Management Studio GUI 设置远程服务器链接。

这是有关如何通过 MSSQL Management Studio 在 sql server 中查询远程数据源的图像的更详细参考

要执行远程查询,您必须将rpc设置为 true。

您还可以通过OPENDATASOURCE即时创建链接服务器连接,但这需要您设置此配置:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO

推荐阅读