【问题标题】:To identify linked server in SSIS package识别 SSIS 包中的链接服务器
【发布时间】:2017-08-03 06:16:02
【问题描述】:

我有大约 500 个 SSIS 包。我想获取使用链接服务器的 SSIS 包列表。我们必须得到这个的原因是我们现在正在删除链接服务器。我不想打开每个 SSIS 包并检查所有任务以查看链接服务器是否可用。

有什么办法可以做到吗?

【问题讨论】:

    标签: ssis linked-server ssis-2012


    【解决方案1】:

    如果您不想使用 powershell,我会使用名为 FnR.EXE 的东西,您可以通过 Google 搜索并下载它。同样,您只需搜索只是一个文本文件的 XML。如果您知道链接服务器的名称,那很好。如果您不知道链接服务器的名称,则必须搜索%.%.%.% 形式的内容。知道所有链接的服务器名称会更可靠(它应该比浏览所有包更快)

    您还需要考虑您的包是否使用了一个视图,而该视图又引用了一个链接服务器。然后链接服务器名称实际上不会出现在包中。

    【讨论】:

      【解决方案2】:

      这不是一个真正的答案,但是评论太长了。您可以简单地在 SSIS 包中搜索给定的文本。这些只不过是 xml 文件。

      您可以使用 f.ex。电源:

      Get-ChildItem -recurse | Select-String -pattern "YOUR_LINKED_SERVER" | group path | select name
      

      这至少会为您提供带有链接服务器的软件包列表。然后根据您可能想要的链接服务器的位置:

      1. 如果是 SQL 字符串,只需将其名称替换为空字符串(PowerShell 或其他)
      2. 如果在其他组件中,您可能需要查看 Microsoft.SqlServer.Dts.Runtime 名称空间并编写 PowerShell 脚本或 .NET 应用程序并从代码中更改文件。

      【讨论】:

        猜你喜欢
        • 2016-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-01
        • 1970-01-01
        • 2022-12-17
        • 1970-01-01
        相关资源
        最近更新 更多