2011-02-22 41 views
0

在SQL Server 2005中,我会检查我的包的版本,像这样:检查DTS软件包信息

USE [msdb] 
GO 
SELECT [Name], CAST([VerMajor] AS VARCHAR(4)) + '.' + CAST([VerMinor] AS VARCHAR(4)) + '.' + CAST([VerBuild] AS VARCHAR(4)) 
AS [Version] 
FROM [dbo].[sysdtspackages90] 
WHERE [Name] IN ('MYPackage') 
Order by [Name] 

在SQL Server 2008 - 我不看表[dbo].[sysdtspackages90]

如果我在查询中将[dbo].[sysdtspackages]替换为表格,则返回0行。

2008年存储的包信息在哪里?或者我没有看到由Select * from [dbo].[sysdtspackages]返回的任何记录,因为我没有正确的许可?

回答

0

尝试

SELECT * FROM msdb..sysssispackages 

这里有SQL Server Books Online

包含的每个 保存到Microsoft SQL Server包一排中的文档。 此 表存储在msdb数据库中。

+0

谢谢,这是有效的。然而,我在2分钟后杀死了查询,因为它还没有完成,但仍然返回了我需要的信息。这是什么意思?谨慎解释你的答案? – 2011-02-22 22:00:37

+0

还有一个疑问......“2009-12-29 09:08:07.000”是我的一个软件包的创建者。这个特定的软件包(可能)最初是由我于2009年创建的 - 到2005年。然后在2010年12月(也许在2010年左右)将其转换为2008年,然后在最近几天保存到SQL Server。创建日期似乎非常不相关 - 修改日期/安装日期会更有帮助。你知道它是否保存在别的地方吗?非常感谢您的信息... – 2011-02-22 22:08:06

+0

@需要帮助:'msdb..sysssispackages'只是意味着:在msdb数据库中,在缺省模式中,找到'sysssispackages'目录视图。如果你愿意,你也可以编写'msdb.dbo.sysssispackages'。对不起 - 这是* only *目录视图我知道有这种信息 - 如果你正在寻找的东西不存在,它可能不会存储在任何地方...... – 2011-02-22 22:10:31