0

不确定这是否可行,我有一个 SQL Server 2012 数据库,我需要将数据传输到特定 IP/端口上的第三方应用程序。这可能吗。如果是这样,您如何“映射”到特定的 IP/端口?尽量避免编写中间件。提前致谢。

4

1 回答 1

0
  1. 创建端点,例如CREATE ENDPOINT MyEndpoint STATE = STARTED AS TCP (LISTENER_PORT = 50001, LISTENER_IP = ALL) FOR TSQL();. 如果要使用特定地址,地址必须在括号中,例如,LISTENER_IP = (10.0.0.201)。请注意,默认情况下,当创建新的 TCP/IP 端点时,公共角色对默认 TCP/IP 端点的访问权将被撤销
  2. 使用 GRANT / DENY CONNECT 修改对新端点的访问
  3. 在 SQL Server 配置管理器中将 LISTENER_PORT 中指定的端口添加为新的 TCP/IP 端口(即 WinKey + R / MMC / menu File / Add/Remove Snap-in / SQL Server Configuration Manager / Add / OK / SQL Server配置管理器)
  4. 重新启动 SQL Server

根据您希望使用用户端点执行的方案,有时让 SQL Server 执行直观上应该可以正常工作的事情可能非常棘手。因此,测试用户端点很有用。检查错误日志 SQL Server 正在侦听的 IP 和端口。还尝试连接到 SQL Server 并验证您的连接是否正在使用所需的端点。例如:

SELECT * FROM sys.endpoints WHERE endpoint_id = (
SELECT endpoint_id FROM sys.dm_exec_connections WHERE session_id = @@SPID;
);
EXEC sys.sp_readerrorlog 0, 1, 'listening'; -- Returns only 'listening' rows

我希望它有所帮助。

于 2013-11-01T11:55:06.570 回答