通过 SSMS 连接时 SQL Server 2012 集成服务失败

Posted

技术标签:

【中文标题】通过 SSMS 连接时 SQL Server 2012 集成服务失败【英文标题】:SQL Server 2012 Integration Services failed when connecting thru SSMS 【发布时间】:2012-12-06 04:36:38 【问题描述】:

我最近安装了 SQL Server 2012,我主要使用默认设置。数据库工作正常,我可以愉快地使用 SSMS (SQL Server Management Studio) 进行连接,但是当我连接到 Integration Services 服务器时,我收到了这条消息

连接到计算机上的 Integration Services 服务 “localhost”失败并出现以下错误:“访问被拒绝。”

默认情况下,只有管理员可以访问集成 服务服务。在 Windows Vista 及更高版本上,该过程必须是 以管理权限运行以连接到 集成服务服务。有关有关信息,请参阅帮助主题 如何配置对服务的访问。

这是截图

我不知道为什么,但我是域管理员并且拥有服务器的完全权限。还有为什么当我从我的桌面连接时它可以成功连接,只有当我从服务器本身连接时才会出现这个问题。如何解决此问题,以便使服务器上的 SSMS 连接到其集成服务实例。

【问题讨论】:

澄清一下:在您的桌面上,您可以连接到 ServerA 并单击 IS 目录。 RDC 到 ServerA,启动 SSMS 并且您无法连接到 IS 目录? 另外,虽然毫无疑问与您的问题无关,但SP1 可用于 SQL Server 2012 是的,如果我使用 SSMS 从 Workstation 连接到 ServerA,它是正确的,但是如果我 RDC 到 ServerA 并使用 SSMS 连接到 ServerA,那么我会收到上面的错误消息 UAC 是否在 ServerA 上运行? 你能在下面回答这个问题,我可以给你支票!我尝试以管理员身份运行 SSMS,它可以工作!你这个摇滚老兄! 【参考方案1】:

据我了解,用户访问控制或UAC 基本上可以拦截对您的组成员身份的请求,因此在这种情况下,它似乎阻止了您的成员身份传递给 SQL Server。

其他人在他们的 cmets 中指出,您可能仍需要右键单击并以管理员身份运行 SSMS。

正如一位精明的观察者所指出的,“这是一个快速修复,而不是真正的解决方案。人们不应该只是以管理员身份运行东西。这些安全墙的存在是有原因的”我同意。 UAC 旨在让 Windows 用户进入Principle of least privilege 思维模式 - 仅在需要时升级到强大的帐户。问题是众所周知,SSMS 不能与 UAC “很好地配合”。在我看来,这给你留下了三个选择

您可以关闭 UAC 并完成工作 让 UAC 保持开启状态并告诉你的老板你无法工作 编写自己的不受 UAC 影响的查询工具

【讨论】:

天哪。谢谢。阅读那个和这个。而且在关闭UAC后,还需要通过“以管理员身份运行”启动SSMS!!! 这是一个快速修复,而不是真正的解决方案。人们不应该只是以管理员身份运行东西。这些安全墙的存在是有原因的。 @siride 我同意这是一个 hack,我期待您的回答提供真正的解决方案。 @billinkc:Nadeem 的回答是我所做的,而且效果很好。【参考方案2】:

转到所有程序单击 Microsoft SQL Server 2012 文件夹右键单击 SQL Server Management Studio 单击以管理员身份运行

现在应该可以解决问题了。 (有了这个你需要总是重复相同的过程)。为了每次都避免这种情况并获得更持久的解决方案,您需要获得许可。请执行以下过程,您应该会很好。

在 SQL Server 的早期版本中,默认情况下,当您安装 SQL Server 时,用户组中的所有用户都可以访问 Integration Services 服务。安装当前版本的 SQL Server 时,用户无权访问 Integration Services 服务。该服务默认是安全的。安装 SQL Server 后,管理员必须授予对该服务的访问权限。

授予对集成服务服务的访问权限

    运行 Dcomcnfg.exe。 Dcomcnfg.exe 提供了一个用户界面,用于修改注册表中的某些设置。 在“组件服务”对话框中,展开“组件服务”>“计算机”>“我的电脑”>“DCOM 配置”节点。 右键单击 Microsoft SQL Server Integration Services 11.0,然后单击“属性”。 在“安全”选项卡上,单击“启动和激活权限”区域中的“编辑”。 添加用户并分配适当的权限,然后单击确定。 对访问权限重复步骤 4 - 5。 重新启动 SQL Server Management Studio。 重新启动集成服务服务。

(来源 MSDN)

我希望这会有所帮助

【讨论】:

这是长期的解决方案,应该投赞成票。 我按照这些步骤,甚至重新启动了服务器。我仍然无法远程连接。 我发现如果我有域管理员帐户,我可以远程访问 SSIS 服务。但是即使按照上述步骤明确授予我的登录权限,我也无法远程连接。 是的,同样对于 Server 2012r2 上的 SQL 2016 Server Sp1,请查找“Microsoft SQL Server Integration Services 13.0”。【参考方案3】:

右键单击 Sql Server Management Studio 并选择以管理员身份运行并尝试连接 如果它安装在本地实例上

【讨论】:

【参考方案4】:

您应该查看运行 SSIS 服务的用户。转到开始 > 运行 > 键入“services.msc”并向下滚动到 SQL Server Integration Services 11.0 条目。右键单击并检查属性以找出它在哪个用户下运行。第二个选项卡应该是登录选项卡。由于您只是在本地实例上运行,您可以将您的用户设置为登录用户帐户,SSIS 将拥有与您相同的权限。

【讨论】:

应该没问题,因为该服务使用在服务器上具有管理权限的域帐户,这意味着它在“管理员”组中 无论如何,出于好奇,我尝试了您的建议并以我的用户名运行该服务,但仍然遇到同样的错误 工作就像一个魅力。进行此更改后,需要重新启动所有 SQL 服务。【参考方案5】:

在这个问题上浪费了一天的时间。我的包有一个 .NET 脚本任务,用于将文件从共享网络文件夹复制到本地文件夹,每次尝试从服务器执行包(通过 SQL Studio)时,我都会遇到“拒绝访问”异常。该包在本地运行时运行良好。

在这里和那里尝试了很多东西,最终成功的是创建一个作业(所有者是 sa),它将包作为 SSISExecutor 执行。

我不得不提一下,网络上的文件对每个人都有读取权限,我仍然不明白哪里出了问题。

【讨论】:

以上是关于通过 SSMS 连接时 SQL Server 2012 集成服务失败的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server:启用没有 SSMS 的远程连接

SSMS 2005 连接 SQL SERVER 2008问题

SSMS 远程连接SERVER 设置 - Unable to connect to SQL Server instance remotely

SQL Server Management Studio (SSMS)下载,安装以及连接数据库配置

SQL Server 受信任的连接在 IIS 中有错误的用户,但 SSMS 正常

SQL Server:无法通过 SSMS 编辑数据