修正: 當您在 SQL Server 2012年執行 SSIS 封裝時錯誤訊息: 「 執行 」 權限已在物件 'xp_regread' 上被拒 」

Template: Generic Hotfix

BUG #: 170218 (Content Maintenance) VSTS: 959980

Microsoft 會為一個可下載的檔案散佈 Microsoft SQL Server 2012年修正程式。的修正程式是累積的因為每個新版本包含的所有 hotfix,並隨附於先前的 SQL Server 2012年所有安全性修正程式會都修正版本。

徵狀

當您在 Microsoft SQL Server 2012年環境中執行 SSIS 封裝時,您可能會收到類似下列的錯誤訊息:

以使用者身分執行的訊息:網域|使用者。Microsoft (R) SQL Server 執行封裝公用程式版本 11.0.2100.60 的 64 位元著作權 (C) Microsoft 公司。所有,並保留一切權利。啟動:時間失敗,因為發生錯誤 0x80131904 執行 IS 伺服器封裝。伺服器:伺服器名稱,而封裝路徑: \SSISDB\Folder\Package.dtsx,環境參考識別碼: 空值。描述: 執行權限被拒 'xp_regread' 時,資料庫 'mssqlsystemresource',結構描述 'sys' 物件上。來源:.Net SqlClient 資料提供者啟動: 10:00:00 PM 已經完成: 10:00:01 PM 已耗用: 0.093 的秒數。封裝執行失敗。步驟失敗。

原因

之所以發生這個問題,是因為整合服務執行封裝儲存在 SSISDB 中 SQL Server 2012年環境的方式。

解決方案

累積更新資訊

SQL Server 2012 Service Pack 1 的累積更新套件 1

這個問題的修正程式首次發表中累積的更新 1。如需有關如何取得此累積更新套件,SQL Server 2012 Service Pack 1 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2765331累計更新套件 1 的 SQL Server 2012 Service Pack 1附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2012年所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

SQL Server 2012年建置 SQL Server 2012 Service Pack 1 發行之後所發行的2772858

SQL Server 2012年的累積更新套件 3

這個問題的修正程式首次發表累積的更新 3] 中。如需有關如何為 SQL Server 2012年取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2723749累計更新 SQL Server 2012年 3附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2012年所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

SQL Server 2012年建置 SQL Server 2012年發行之後所發行的2692828

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

Workaround

To work around this issue, manually grant permissions to the account that executes the SSIS package. To do this, execute the following statement:

GRANT EXECUTE ON sys.xp_regread TO [Domain\Username]


In SQL Server 2012, the [SSISDB].[catalog].[create_execution] stored procedure creates the following registry key to determine whether the operating system is a 32-bit (x86) system or a 64-bit (x64) system. Then, the stored procedure uses the resulting information to run the following matching ISExec.exe process to host the package for runtime:

EXEC master..xp_regread 'HKEY_LOCAL_MACHINE',

'System\CurrentControlSet\Control\Session Manager\Environment',

'PROCESSOR_ARCHITECTURE';



To view the public permissions on the sys.xp_regread stored procedure, execute the following statements:

SELECT grantee_principal.name AS [Grantee], prmssn.permission_name 
FROM sys.all_objects AS theobject
INNER JOIN sys.database_permissions AS prmssn ON prmssn.major_id=theobject.object_id AND
prmssn.minor_id=0 AND prmssn.class=1
INNER JOIN sys.database_principals AS grantee_principal ON grantee_principal.principal_id = prmssn.grantee_principal_id
WHERE (theobject.type='X') and (theobject.name=N'xp_regread' and
SCHEMA_NAME(theobject.schema_id)=N'sys')

參考

如需增量的服務模型的 SQL Server,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

935897的累加式服務模型可以使用從 SQL Server 小組製作報告的問題的 hotfix如需有關 SQL Server 更新的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

822499命名結構描述,Microsoft SQL Server 軟體更新套件如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述

Author: jasonh; jannaw
Writer: v-fismao; v-jayc
Tech Reviewer: jasonh; jannaw; sqlprev
Editor: v-anwale

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×