我在从本地SQL Server (SSMS)实例传输数据到远程服务器实例以及运行将数据传输到远程服务器的SSIS包(它在本地工作良好)时遇到麻烦。
我的本地SQL Server版本是2018,远程版本是2014。我的最终目标是能够从本地运行SSIS包,并让它将数据传输到远程服务器上的表。我正在本地运行Visual Studio 2019包。
我无法在Visual Studio的连接管理器或SSMS中的数据库引擎连接中找到服务器。此外,当我手动输入服务器和DB的名称时,连接失败/超时,然后测试连接。
我得到超时错误,但我已将连接超时从600增加到1600,它仍然失败。我需要增加更多的时间吗?
我开始认为这可能是权限问题,因为我正在使用我的工作笔记本电脑,或者可能与防火墙和/或端口有关的网络问题。
我绝不是IT管理员,所以相当数量的这些东西都要越过我的头顶。
我已经在我的本地机器上安装了PortqryUI工具,并为远程服务器的IP地址运行它。输出结果为"TCP端口1433 (ms-sql-s service): FILTERED portquery .exe -n -e 1433 -p TCP退出,返回代码为0x00000002"
我查找了TCP端口的过滤意味着什么,但似乎没有人有这个信息。当它说UDP端口被过滤时,它们有它的意思,但当TCP端口被过滤时却没有。PortqryUI工具结果是什么意思?
我看了很多文章来尝试解决问题。这些链接包括但不限于以下链接:
- https://support.microsoft.com/en us/sbs/topic/solving -连接错误- sql - server - ae23c94b b64b - 5056 - 8 b62 - 22 - e1694bb889?ui=en us& rs = en-US&广告=我们
- https://intercom.help/seekwell/en/articles/3078858-connecting-to-mssql-microsoft-sql-server
- SQLCMD无法完成登录过程,因为打开服务器连接延迟
此外,我曾尝试在mmc.exe SQL Server配置管理器管理单元中禁用共享内存。到目前为止,在我的本地机器上,共享内存是启用的,命名管道是禁用的,TCP/IP是启用的。
我不知道我是否需要添加一些东西到这里的命名管道或检查端口是否被防火墙阻塞。
我已经联系了我的IT管理员,他没有提供任何澄清。
有人能帮我解决这个问题吗?
例如,我知道如何检查服务器上的权限,但我不确定需要哪些权限才能将数据从本地SSMS传输到远程服务器SSMS。
我的显式权限是"Connect SQL (Grant)"和我的有效权限是:管理批量操作,更改任何可用性组,更改任何连接,更改任何凭据,更改任何数据库,更改任何端点,更改任何事件通知,更改任何事件会话,更改任何外部数据源,更改任何外部文件格式,更改任何链接服务器,更改任何登录,更改任何服务器审计,更改任何服务器角色,更改资源,更改服务器状态,更改设置,更改跟踪,认证服务器,连接任何数据库,连接SQL,控制服务器,创建任何数据库,创建可用性组,创建DDL事件通知,创建端点,创建服务器角色,创建跟踪事件通知,外部访问程序集,模拟任何登录,选择所有用户安全,关机,不安全程序集,查看任何数据库,查看任何定义,查看服务器状态。
我检查了本地服务器上的资源监视器,在网络>>>监听端口下的端口号为1433,防火墙状态显示"不允许,不限制";对于两个地址(即IPv6未指定和IPv4未指定)。它在远程服务器上也说同样的事情。
任何和所有的帮助是感激的!
还有,如果你需要更多的信息,请告诉我。我可以在正文中添加必要的内容。
我很抱歉,如果我没有提供足够的,但我不是精通这方面,所以我认为我已经足够在发布这篇文章。
我们公司使用的防火墙阻止了1433端口。
我的IT管理员打开了它,它工作得很好(对于SSIS, Visual Studio和SSMS)。
谢谢你@Charlieface带领我走上正确的道路。