Microsoft 將 Microsoft SQL Server 2008 R2 及 Microsoft SQL Server 2008 發佈成一個可下載的檔案。 因為修正程式是累加的,所以每個新版本都包含舊版 SQL Server 2008 R2 及 Microsoft SQL Server 2008 修正版本中所包含的所有熱修復程式及所有安全性修正程式。
徵狀
請試想下列案例:
-
您在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008 中建立 SQL Server Integration Services (SSIS)套件。
-
您使用執行套件工作來在 SSIS 套件中執行子套件。注意在本文的其餘部分中,此 SSIS 套件將被稱為「上層套件」。
-
您可以使用 SQL Server 配置類型來為父套件建立配置資料表。
-
您可以與子套件共用相同的設定資料表。
-
[設定] 表格包含上層封裝中現有物件的許多設定項目。 不過,子套件中不存在特定配置資料表專案中的物件路徑。 例如,當您將共用的設定資料表用於父套件時,共用配置資料表中所參照的某些變數、連線管理員、工作或其他物件,不會存在於所有的子套件中。
-
您在 SQL Server Business 情報開發版 Studio (投標)中執行上層套件。
在這種情況下,父套件不會執行。 此外,您會收到下列其中一則錯誤訊息:
-
找不到連線 "<連接名稱>"。 當找不到特定的連線元素時,Connections 集合會拋出此錯誤。
-
封裝路徑參照了找不到的物件:「<路徑>」。 當嘗試將套件路徑解析為找不到的物件時,就會發生這種情況。
注意事項
-
除了「症狀」一節中提到的錯誤訊息之外,也可能會發生其他錯誤訊息。
-
即使您將 SupressConfigurationWarnings 設定設定為 True,仍會出現此問題。
-
Microsoft SQL Server 2005 Integration Services 中不會出現此問題。
原因
這個問題是由 SQL Server 2008 R2 Integration Services 中的錯誤所導致。特別是,當您透過執行套件工作將共用的設定套用到子套件時,所有已設定的物件都必須存在於套件中。 否則,執行套件工作將會引發錯誤。 此錯誤通常會視為警告。 但在這種情況下,此警告會導致執行套件任務報告失敗。 因此,父套件的執行失敗。
解決方案
累積更新資訊
SQL Server 2008 Service Pack 2
此問題的修正程式是在 SQL Server 2008 的累積更新3(Service Pack 2)中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2498535 SQL Server 2008 的累積更新套件 3 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
SQL Server 2008 Service Pack 1
此問題的修正程式會在 SQL Server 2008 Service Pack 1 的累積更新12中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2467236 SQL Server 2008 的累積更新套件 12 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
970365 在發行 SQL Server 2008 Service Pack 1 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 1 修補程式套用至 SQL Server 2008 Service Pack 1 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。此問題的修正程式是在累積更新3中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2261464 SQL Server 2008 R2 的累積更新套件3注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
因應措施
若要解決此問題,請使用下列其中一種方法: 方法 1請勿在多個套件的共用配置資料表中使用相同的配置篩選器。 針對每個套件指定不同的配置篩選器。 當您這麼做時,只會針對 [設定] 資料表中的一個套件參照套件物件。 方法 2在有問題的套件中加入虛擬物件。 當您這麼做時,物件的套件路徑會存在於套件中。 例如,假設您有一個名為 Pkg1 的 SSIS 套件。 Pkg1 包含命名為「CM1」的連線管理員。 您也有一個名為 Pkg2 的 SSIS 套件。 Pkg2 包含名為 CM2 的連線管理員。 在這種情況下,這些套件會在共用的配置資料表中共用相同的設定篩選器。 若要避免此問題,您要新增一個名為 CM2 的啞元連接管理員來 Pkg1。 您也可以新增一個名為 CM1 的啞元連接管理員來 Pkg2。
其他相關資訊
在您套用此熱修復程式後,當您在設計時,在商務智慧開發工作室(投標)中從 DtsDebugHost 調試器本身執行套件時,投標仍會傳回「問題」一節中所述的相同警告訊息。 不過,套件會成功。當您使用 DTExec 或其他執行時間在調試器外部執行套件時,套件會順利完成,但不會顯示任何警告訊息。 此外,您會收到下列訊息,表示已成功將設定套用至子套件:
套件正嘗試使用設定字串 "" ServerName: DbName ";" 來從 SQL Server 進行設定。[dbo]。[SSIS 配置] ";"連接 ";"。如需瞭解整合服務套件設定的詳細資訊,請造訪下列 Microsoft 網站:
瞭解整合服務封裝配置如果您在 SQL Server 2008 中遇到類似的問題,請按一下下面的文章編號,以查看 Microsoft 知識庫中的文章:
974559 修正:當您執行在 SQL Server Business 商業版開發版中使用 configuration 資料表的 SQL Server 2008 Integration Services 套件時,出現錯誤訊息:「連接」 <連接名稱> 「找不到」
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。
參考
如需有關 SQL Server 的增量服務模型的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
935897 您可以從 SQL Server 團隊取得增量服務模型,以提供已報告問題的修補程式如需 SQL Server 更新命名架構的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
822499Microsoft SQL Server 軟體更新套件的新命名架構如需軟體更新術語的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
824684 描述 Microsoft 軟體更新所使用的標準術語說明