徵狀
請試想下列案例:
-
您在資料流程工作中建立具有 SQL Server 目標群組件的 SQL Server 2008 Integration Services R2 (SSIS)套件。
-
您嘗試使用下列其中一種方法,在已啟用使用者帳戶控制(UAC)的系統(例如,在 Windows Vista 或 Windows 7 中)執行此套件:
-
商業智慧開發工作室(投標)
-
SQL Server Management Studio (SSMS)物件資源管理器
-
DTExec.exe
-
DTExecUI.exe
-
在這種情況下,您可能會收到類似下列其中一項的錯誤訊息:
[SQL Server Destination]錯誤:無法為數據插入準備 SSIS 大容量插入。SSIS.管線] 錯誤:「SQL Server Destination」元件無法執行預執行階段,傳回錯誤碼0xC0202071。」無法大容量複製資料。 您可能需要以系統管理員身分執行此套件。
注意事項
-
如果您在安裝作業系統期間建立的內建系統管理員帳戶下執行套件,就不會遇到這些錯誤。 但您會收到此訊息給任何其他使用者,包括本機管理員群組的成員。
-
當您執行與 SQL Server 代理程式作業相同的 SSIS 套件時,不會發生這個問題。
-
只有在安裝了 SQL 2008 Service Pack 2 (SP2)之後,才會產生第二個錯誤訊息。
原因
這個問題會發生在已啟用 UAC 的系統上。 當應用程式(例如 SSIS)是由管理員群組的成員帳戶所啟動時,它會收到兩個安全權杖:低許可權權杖和提升許可權權杖。 只有當應用程式是使用 [ 以系統管理員身分執行 ] 選項在系統管理員帳戶下顯式執行時,才會使用提升許可權權杖。 根據預設,SSIS 會一直使用低許可權權杖,當 SSIS 連線至 SQL Server 目標群組件時,就會發生失敗。注意: 如果您使用的帳戶不是本機管理員群組的成員,就不會出現 UAC。
解決方案
SQL Server 2008 R2 的 Service pack 資訊
若要解決此問題,請取得最新的 SQL Server 2008 R2 service pack。如需詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2527041 如何取得最新的 SQL Server 2008 R2 service pack
狀態
Microsoft 已確認這是「適用于」區段中所列之 Microsoft 產品中的問題。這個問題最初是在 sql server 2008 r2 Service Pack 1 中針對 SQL Server 2008 R2 進行修正。
因應措施
若要解決此問題,請使用下列其中一種方法:
-
如果您是從 SSMS、投標或從 DTExecUI 執行套件,請從系統管理員帳戶啟動這些工具。 若要這樣做,請按一下 [ 開始],指向 [ 所有程式],指向 [SQL Server 2005 ] 或 [sql server 2008],以滑鼠右鍵按一下您正在使用的工具,然後按一下 [ 以系統管理員身分執行]。 這會使用內建的系統管理員帳戶的提升許可權來啟動應用程式,且套件會成功執行。 同樣地,如果您是使用 DTExec 執行套件,請從提升許可權的命令提示字元開始。 若要這樣做,請依序按一下 [ 開始]、[ 所有程式]、[ 附件]、[ 命令提示字元],然後按一下 [ 以系統管理員身分執行]。注意: 如果您不是以系統管理員的身分登入電腦,系統會提示您提供系統管理員帳戶。 在 [回應] 中,在 [ 使用者帳戶控制 ] 對話方塊中輸入系統管理員的使用者名稱和密碼,然後按一下 [確定]。
-
使用指向同一個 SQL Server 連線管理員的 OLE DB 目標群組件,取代失敗的資料流程工作中的 SQL Server 目標群組件。
-
在您指派 [ 建立全域物件 ] 許可權給該帳戶之後,請使用不是 [本機管理員] 群組成員的帳戶。 若要執行這項操作,請依照下列步驟執行:
-
按一下 [ 開始],指向 [系統 管理工具],然後按一下 [本機 安全性原則]。
-
展開 [ 本機原則],然後按一下 [ 使用者權利指派]。
-
在 [詳細資料] 窗格中,按兩下 [ 建立全域物件]。
-
在 [ 本機安全性原則設定 ] 對話方塊中,按一下 [ 新增]。
-
在 [ 選取使用者或群組 ] 對話方塊中,按一下您要新增的使用者帳戶,按一下 [ 新增],然後按一下 [確定] 兩次。
-