我正在寻找一种简单的方法来判断我的服务器上的500个数据库中的哪些数据库被99个活动的DTS包命中。我正在运行SQL Server 2008 R2。 DTS包未存储在数据库中。它们存储在文件系统中。
答案 0 :(得分:0)
如果您对.Net感到满意,那么编写一个c#app来迭代您的包并记录不同的Connections非常容易。 EG:
using Microsoft.SqlServer.Dts.Runtime;
app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(@"C:\temp\mypackage.dtsx", null);
foreach (ConnectionManager cm in pkg.Connections)
{
foreach (DtsProperty prop in cm.Properties)
{
if (prop.Set)
{
try
{
string s = prop.GetValue(o).ToString();
Console.WriteLine(s);
}
catch (Exception e)
{
}
}
}
}