9

I get this error when deploying a package to SQL 2012 SSISDB catalog:

A .NET Framework error occurred during execution user-defined routine or aggregate "deploy-project-internal":

System.Data.SqlClient.SqlException: The locale identifier (LCID) 9242 is not supported by SQL Server 

......

DiligentKarma
  • 5,198
  • 1
  • 30
  • 33
veljasije
  • 6,722
  • 12
  • 48
  • 79

3 Answers3

7

I had a very similar issue (different LCID) and took me weeks to resolve it but I hope is the same issue you where having and it helps for any other users.

So somehow something got bad installed on the SQL Server, the service account that is setup to run the SQL Server Service doesn't have all the necessary permissions.

I tracked this issue down to a very specific procedure, try to execute on the SSISDB the procedure [catalog].[check_schema_version] and you should be getting the same error message you are getting.

If executing the procedure gives you the same error, then the soultion is going to be the same. You basically need to change the account that is running SQL Server Service (not Integration Services) to be a local admin, and change the Locale on the RegEdit for that Local Admin acccount to be the one you want.

TO do so, do the following:

  • Execute on Command Prompt the following to get the SID:

    wmic useraccount where name='Administrator' get sid (Replace
    Administrator by your Local Admin Account)

  • Go to RegEdit -> HKEY_USERS -> [SID Local Admin] -> Control Panel -> International and change keys "Locale" and "LocaleName" for the
    desired region,(in my case it was Locale 00000409, LocaleName en-US)

  • Open Windows Services, look for the SQL SERVER (MSSQLSERVER) and
    change the running account to be your local admin

  • Restart the Service

That should be it. I figured all that out thanks to the combination of these 2 pages:

https://www.facebook.com/allaboutssis/posts/329497130467714

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9f409937-772a-41bd-8270-7804fdd5b94e/failure-in-deploying-ssis-project-from-ssdt-to-sqlserver-2014?forum=sqlintegrationservices&prof=required

Hector Sanchez
  • 2,297
  • 4
  • 26
  • 39
  • the link is now [here](https://sqlkover.com/ssis-error-while-deploying-package-the-locale-identifier-lcid-is-not-supported-by-sql-server/). – Oleksandr Nov 02 '19 at 21:14
2

I solved it in the following way.

First, check in Services which user SQL Server (MSSQLSERVER) runs as:

enter image description here

Next, open the Registry Editor and navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\. Find which ID the user has. In my case, the user MSSQLSERVER has the ID S-1-5-80-3880718306-3832830129-1677859214-2598158968-1052248003:

enter image description here

When you have the user's ID, in the Registry Editor, go to the path Computer\HKEY_USERS\[USER ID]\Control Panel\International. In my case, the path is Computer\HKEY_USERS\S-1-5-80-3880718306-3832830129-1677859214-2598158968-1052248003\Control Panel\International. There you will find two keys named Locale and LocaleName:

enter image description here

In my case, they had the following values:

  • Locale = 00000c00
  • LocaleName = en-SE

Change them to:

  • Locale = 00000409
  • LocaleName = en-US

enter image description here

Next, restart the service SQL Server (MSSQLSERVER).

After that, I was able to deploy the project:

enter image description here

Daniel Jonsson
  • 3,261
  • 5
  • 45
  • 66
0

Also I had a similar issue with the LCID for the Palestinian State which was added recently to windows and it seems that the SSIS doesn't recognize this LCID. So changing the windows LCID to another one solved the problem (from contorl panel then regions)

Tareq
  • 1,397
  • 27
  • 28