Update: Fehlermeldung beim Ausführen eines SSIS-Pakets in SQL Server 2012: "Die EXECUTE-Berechtigung wurde für das Objekt 'xp_regread' verweigert"

Template: Generic Hotfix

BUG #: 170218 (Content Maintenance) VSTS: 959980

Microsoft verteilt Microsoft SQL Server 2012-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitskorrekturen, die in der vorherigen SQL Server 2012-Fixversion enthalten waren.

Problembeschreibung

Wenn Sie ein SSIS-Paket in einer Microsoft SQL Server 2012-Umgebung ausführen, wird möglicherweise eine Fehlermeldung angezeigt, die der folgenden ähnelt:

Als Benutzer ausgeführte Nachricht: DOMAIN| USER. Microsoft (R) SQL Server Execute Package Utility Version 11.0.2100.60 für 64-Bit Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Gestartet: ZeitFehler beim Ausführen des IS-Serverpakets aufgrund des Fehlers 0x80131904. Server: SERVER NAME, Paketpfad: ,,SSISDB" ,,Ordner"Package.dtsx, Umgebungsreferenz-ID: NULL. Beschreibung: Die EXECUTE-Berechtigung wurde für das Objekt 'xp_regread', Datenbank 'mssqlsystemresource', Schema 'sys' verweigert. Quelle: .Net SqlClient Data Provider Gestartet: 10:00:00 Uhr Fertig: 10:00:01 Pm Verstrichen: 0,093 Sekunden. Die Paketausführung ist fehlgeschlagen. Der Schritt ist fehlgeschlagen.

Ursache

Dieses Problem tritt aufgrund der Art und Weise auf, wie Integration Services Pakete ausführt, die in SSISDB in SQL Server 2012-Umgebungen gespeichert sind.

Fehlerbehebung

Informationen zum kumulativen Update

Kumulatives Updatepaket 1 für SQL Server 2012 Service Pack 1

Die Korrektur für dieses Problem wurde zuerst in kumulatives Update 1 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets für SQL Server 2012 Service Pack 1 finden Sie unter der folgenden Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2765331 Kumulatives Updatepaket 1 für SQL Server 2012 Service Pack 1Hinweis Da die Builds kumulativ sind, enthält jede neue Fixversion alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen SQL Server 2012-Fixversion enthalten waren. Es wird empfohlen, die neueste Fixversion anzuwenden, die diesen Hotfix enthält. Weitere Informationen erhalten Sie, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2772858 Die SQL Server 2012-Builds, die nach der Veröffentlichung von SQL Server 2012 Service Pack 1 veröffentlicht wurden

Kumulatives Updatepaket 3 für SQL Server 2012

Die Korrektur für dieses Problem wurde zuerst in Kumulatives Update 3 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets für SQL Server 2012 finden Sie unter der folgenden Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2723749 Kumulatives Update 3 für SQL Server 2012Hinweis Da die Builds kumulativ sind, enthält jede neue Fixversion alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen SQL Server 2012-Fixversion enthalten waren. Es wird empfohlen, die neueste Fixversion anzuwenden, die diesen Hotfix enthält. Weitere Informationen erhalten Sie, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2692828 Die SQL Server 2012-Builds, die nach der Veröffentlichung von SQL Server 2012 veröffentlicht wurden

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

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')

Informationsquellen

Weitere Informationen zum inkrementellen Wartungsmodell für SQL Server erhalten Sie, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

935897 Ein inkrementelles Wartungsmodell ist vom SQL Server-Team verfügbar, um Hotfixes für gemeldete Probleme zu liefernWeitere Informationen zum Benennungsschema für SQL Server-Updates erhalten Sie, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

822499 Benennungsschema für Microsoft SQL Server-SoftwareupdatepaketeWeitere Informationen zur Terminologie von Softwareupdates erhalten Sie, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird

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

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×