Error Number 6522
Contents |
Services Question 0 Sign in to vote Hi, I have installed SSIS on a a required privilege is not held by the client ssis proxy server and when I deploy a package, I have this error: replace a process level token greyed out Error Number: 6522 Severity: 16 State: 1 Procedure: deploy_project_internal I read this blog and have changed ssis replace a process level token permissions but I have ever again the error message: http://blog.oraylis.de/2013/09/fixing-sql-2012-ssis-deployment-error-6522-a-required-privilege-is-not-held-by-the-client/ Version of SQL: 11.0.3460 SQL Server Engine has a Domain account but SSIS isrunning with "NT
A Required Privilege Is Not Held By The Client Sql Server Agent
Service\MsDtsServer110". I suspect that I need to use a domain account for SSIS. Have you suggestions to analyseor resolve this problem? Thanks in advanced for your help Regards, STH Best regards, Mit freundlichen Grüssen, Avec mes meilleures salutations, Stéphane Haby Wednesday, March 18, 2015 1:04 PM Reply | Quote All replies 0 Sign in replace a process-level token (seassignprimarytokenprivilege) to vote Hi STH, According to your description, you get the error message that “System.ComponentModel.Win32Exception: A required privilege is not held by the client” while deploying SSIS 2012 Project. Based on the error message, the issue is related to the permissions. After researching, the issue always caused by Integration Services service and Database Engine accounts lack some permissions. For more details, please refer to the following documents: https://msdn.microsoft.com/en-us/library/hh213130(v=sql.110).aspx http://blogs.msdn.com/b/dataaccesstechnologies/archive/2013/08/20/system-componentmodel-win32exception-a-required-privilege-is-not-held-by-the-client-while-deploying-ssis-project.aspx Thanks, Katherine Xiong If you have any feedback on our support, please click here.Katherine Xiong TechNet Community Support
Proposed as answer by Katherine XiongMicrosoft contingent staff, Moderator Wednesday, March 25, 2015 9:57 AM Thursday, March 19, 2015 6:43 AM Reply | Quote Moderator 0 Sign in to vote Hi, Thanks for the information but DCOM Config is good like all config for secpol. When I run the process monitor, I have justa lot of keys with NAME or PATH NOT FOUND but no ACCESS DENIED. For example: HKLM\SOFTWArequired privilege is not held by the client ★★★★★★★★★★★★★★★ SnehadeepAugust 20, 201217 0 0 0 A .NET Framework error occurred during execution of user-defined routine or aggregate "deploy_project_internal": ssis a required privilege is not held by the client System.ComponentModel.Win32Exception: A required privilege is not held by the client. I ran across
A Required Privilege Is Not Held By The Client). The Step Failed
this issue in one of my newly set up Sql 2012 Servers when I tried to deploy a project to
This Setting Is Not Compatible With Computers Running Windows 2000 Service Pack 1 Or Earlier
the SSIS Catalog using the Project Deployment Model. I set Sql 2012 up in 3-4 of my servers and never encountered this before. I was using my same domain account across all https://social.msdn.microsoft.com/Forums/vstudio/en-US/dc0fd8de-035e-4552-a5ba-fe98770eea63/error-6522-deployprojectinternal?forum=sqlintegrationservices the Servers. I tried to grab a profiler but could not find any calls to the system stored procedures used for deployment, so my guess was the call is not even reaching to Sql. After spending a few hours, I was actually able to get past the problem even though I’m not sure if I found out the exact cause! In this case, I’m pretty https://blogs.msdn.microsoft.com/dataaccesstechnologies/2012/08/20/error-while-deploying-ssis-2012-project-from-ssdt-to-ssis-catalog-system-componentmodel-win32exception-a-required-privilege-is-not-held-by-the-client/ sure that SSIS is doing a CreateProcessAsUser() using my account credentials, and the SQL/Agent service account is not involved. The SSIS Catalog only accepts Windows Auth (because it does account impersonation during deployment, validation and execution). Since the deployment process is making call to an executable residing in the file system (outside of Sql), I suspected that the Sql Server Service Account would come into question. I changed the Sql Server Service Account from built in default “Nt Service\MSSQLSERVER” (New account introduced in Denali) to another account with admin rights on the system and VOILA!! it started working. This seems to be an issue specific to the Sql Service account permissions; however I could not reproduce the problem in my other machines though my service runs as “Nt Service\MSSQLSERVER”. I believe it has something to do with the group policy. SSIS is launching the external process to do the deployment (ISServerExec) in much the same way that SQL Agent runs its jobs. In similar SQL Agent cases, it looked like service account requires the “Act as part of the operating system” account policy. Author : Debarchan(MSFT) SQL Developer Engineer, Microsoft Reviewed by :
20, 2004 11:14 pm What's error 6522? It's the error that you always get from an unhandled exception in a SQLCLR stored procedure.If I write a SQLCLR error http://www.sqlskills.com/blogs/bobb/error-6522-and-you/ that throws an unhandled exception (let's write one on purpose): [SqlProcedure] public static void ErrorExecute() { SqlCommand cmd = SqlContext.GetCommand(); // everyone knows Bob can't type cmd.CommandText = "select * from authorss"; SqlContext.GetPipe().Execute(cmd); } using it from T-SQL: execute errorexecute print @@error Yields: Msg 208, Level 16, State 1, Line 0 Invalid object name 'authorss'. Msg 6522, Level 16, State 1, Procedure ErrorExecute, is not Line 1 A .NET Framework error occurred during execution of user defined routine or aggregate 'ErrorExecute': System.Data.SqlServer.SqlException: Invalid object name 'authorss'. at System.Data.SqlServer.Internal.StandardEventSink.HandleErrors() at System.Data.SqlServer.Internal.RequestExecutor.HandleExecute(EventTranslator eventTranslator, SqlConnection conn, SqlTransaction tran, ClrLevelContext clrlvlctxtPipe, UrtExecutionType uetType, InternalResultSetOptions irsoOpts, CommandBehavior eBehavior, Object& objResult) at System.Data.SqlServer.Internal.RequestExecutor.ExecuteToPipe(SqlConnection conn, SqlT. 6522 Not that @@ERROR returns 6522, NOT 208. If you write an equivalent bad T-SQL proc: create procedure errortsql as a required privilege -- cant type any better in TSQL select * from authorss go execute errortsql print @@error returns 208. Why does this matter? Say that I have a T-SQL stored procedure (not this one, obviously) that I want to replace with a SQLCLR equivalent that say, runs faster. Say the procedure is used in 20 places in my application, each with semantics that check for specific values of @@ERROR. Won't work the same. You can't catch the exception in SQLCLR and throw the "correct" one (using a SqlCommand with CommandText of RAISERROR(…)) either, because you can't throw a 208 error (or any other system error) with RAISERROR. So I'll have to change each one of my caller procs too when I switch to SQLCLR. The only current workaround is to change to the new T-SQL try-catch syntax BEGIN TRY EXECUTE errorexecute END TRY BEGIN CATCH -- prints 208, whew… PRINT CONVERT(varchar(10), error_number()) END CATCH Hopefully this will be changed or a workaround in SQLCLR will be available in the next beta. I want @@ERROR to somehow return 208, not 6522. Or this will be a great motivator for everyone to change to T-SQL TRY-CATCH. Related PostsError 6522:the