SQL Server ip / port映射到第三方应用程序

时间:2013-10-31 16:09:51

标签: sql-server

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

1 个答案:

答案 0 :(得分: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. 修改新端点上的访问权限
  4. 将LISTENER_PORT中指定的端口添加为SQL Server配置管理器中的新TCP / IP端口(即WinKey + R / MMC /菜单文件/添加/删除管理单元/ SQL Server配置管理器/添加/确定/ SQL Server配置管理器)
  5. 重新启动SQL Server
  6. 根据您要对用户端点执行的操作,有时候让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
    

    我希望它有所帮助。