我不知道你在说什么。版本控制就是版本控制。有些事情你可以用 SVN 做而其他源代码控制系统做不到,比如使用 ... 宏扩展东西 $author$ 或类似的东西,但它仍然对软件进行版本控制。
我创建了一个包 Package2,并为 VersionComments、VersionMajor、VersionMinor 显式分配了值。 VersionBuild 是一个根据包保存次数自动递增的数字。
我将该包部署到 SQL Server 包存储 (msdb),然后将项目部署到集成服务目录 (SSISDB)。然后我运行以下查询来检查数据。
SELECT
S.name
, S.description
, S.vermajor
, S.verminor
, S.verbuild
, S.vercomments
FROM
msdb.dbo.sysssispackages AS S
WHERE
S.name = 'Package2';
SELECT
P.name
, P.description
, P.version_major
, P.version_minor
, P.version_build
, P.version_comments
FROM
SSISDB.catalog.packages AS P
WHERE
P.name = 'Package2.dtsx';
正如您在结果中看到的,VersionBuild/VersionComments/VersionMajor/VersionMinor(和描述)都作为第一层元素公开。
这些是我的包裹记录的相同值。
cmets 表明一个包出现在一个地方,SSISDB 而不是 msdb。
这与包部署模型与项目部署模型的设计选择有关。
包部署是 SQL Server 2012 之前的唯一选项。包部署可以转到 SQL Server,如果可以,它将在 msdb 中名称以 @ 开头的表中找到987654331@(实际名称在 2005、2008/r2 之间变化)。否则,它们将在某个文件系统上。包部署仍然是当前 2017 版本的一个选项。
项目部署是 2012 年新增的,成为默认选项。它解决了围绕包的许多管理问题。相反,项目被视为一个整体、不可分割的单元,而不是 N 个 SSIS 包。项目被“编译”成具有 .ispac 扩展名的可部署单元(带有清单的 zip 文件)。然后将 .ispac 文件部署到 SSISDB,通常通过 isdeploymentwizard.exe
Incremental Package Deployment 功能仍使用项目部署模型*,因此您的包将存储在 SSISDB 中。
SSISDB UI 显示项目的“属性”菜单,指示名称、ID、描述、项目版本和部署日期。由于这很容易查看,我曾经将项目描述设置为$Revision 或类似的名称,这样我就可以一眼看出该项目是否符合我的预期。
这也可以通过查询基表来得出
SELECT
F.name AS FolderName
, F.description AS FolderDescription
, PR.name AS ProjectName
, P.description AS ProjectDescription
, PR.project_format_version
, PR.deployed_by_name
, PR.last_deployed_time
, PR.created_time
, PR.validation_status
, PR.last_validation_time
, P.name AS PackageName
, P.description AS PackageDescription
, P.version_major
, P.version_minor
, P.version_build
, P.version_comments
FROM
catalog.projects AS PR
INNER JOIN
catalog.folders AS F
ON F.folder_id = PR.folder_id
INNER JOIN
catalog.packages AS P
ON P.project_id = PR.project_id;
- 有趣的技巧,增量包部署功能将在部署到 SSISDB 时为您创建一个项目。因此,您可以在将项目留在包部署模型中的同时获得项目部署模型的管理细节。