不确定这是否可行,我有一个 SQL Server 2012 数据库,我需要将数据传输到特定 IP/端口上的第三方应用程序。这可能吗。如果是这样,您如何“映射”到特定的 IP/端口?尽量避免编写中间件。提前致谢。
问问题
93 次
1 回答
0
- 创建端点,例如
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 端点的访问权将被撤销 - 使用 GRANT / DENY CONNECT 修改对新端点的访问
- 在 SQL Server 配置管理器中将 LISTENER_PORT 中指定的端口添加为新的 TCP/IP 端口(即 WinKey + R / MMC / menu File / Add/Remove Snap-in / SQL Server Configuration Manager / Add / OK / SQL Server配置管理器)
- 重新启动 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 回答