Regional settings for FIM and SQL servers
- Hi,
Our client is planning to deploy FIM after the RTM and asked about operating system regional settings. They are planning to install SQL server before release.
Are there any recommendations or restrictions for eg. system locale on FIM or SQL servers if they are installed on different servers?
The reason I'm asking is that I've had to reinstall FIM RC a couple of times because FIM didn't work correctly with non EN-US settings. Should I suggest using EN-US settings with RTM version?
/Lari
Answers
- Thanks for the answers.
The FIM 2010 RTM installation guide has been updated with the information I was looking for. The SQL server collation settings make the difference rather than system locale. See section "Configure SQL collation settings" in here:
http://technet.microsoft.com/en-us/library/ee534909%28WS.10%29.aspx
/Lari- Marked As Answer byLari Savolainen Tuesday, March 16, 2010 12:42 PM
All Replies
I have no idea for the RTM, but for sure in recently released Update 3 regional settings must be EN-US; otherwise, if the FIM service account has different settings for date-time, you will encounter a number of errors: for example, popups in the portal will produce errors, searching for request will get you errors, use of powershell fimautomation for creating objects will not work.
Andrea- Hi Lari,
I installed FIM RC1 on Japanese environment and it works well.
Of course the locale of SQL Server instance is same as FIM.
What error was displayed?
Naohiro Fujie ( MSMVP for ILM ) - Basicly I'm looking for confirmation on recommended settings. I've looked at installation guide, but there was nothing mentioned about regional settings. This would implicate that there will be no restrictions on RTM version.
Here's one error message which I've seen in event logs with FIM RC1 update 2. This is related to a calculated group membership with date-attributes in criteria filter (eg. last working day). Error has probably something to do with different date formats in different regional settings. This error doesn't happen when FIM is installed with EN-US settings. Changing the system locale (or SQL server collation) after installation to EN-US doesn't however solve this error.
Log Name: Forefront Identity Manager
Source: Microsoft.ResourceManagement
Date: 2/9/2010 4:13:58 PM
Event ID: 3
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: servername
Description:
Requestor: urn:uuid:7fb2b853-24f0-4498-9534-4e10589723c4
.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.HasMoreRows()
at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
at Microsoft.ResourceManagement.Query.QueryProcessor.ReadQueryResults(SqlDataReader reader, Int64& resultCount, Boolean& endOfSequence)
at Microsoft.ResourceManagement.Query.QueryProcessor.ExecuteQuery(Query query, Nullable`1 maximumTime, Boolean& endOfSequence, Boolean countResultsOnly, Int64& resultCount, Int64& executionTime)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecutePullActionImpl(PullRequestParameter pullParameter)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteEnumerateAction(RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction(RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction[ResponseBodyType](RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request, Guid requestIdentifier, Object redispatchSingleInstanceKey, Boolean isRedispatch)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request)
at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Enumerate(Message request)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event ">
<System>
<Provider Name="Microsoft.ResourceManagement" />
<EventID Qualifiers="0">3</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2010-02-09T14:13:58.000000000Z" />
<EventRecordID>479856</EventRecordID>
<Channel>Forefront Identity Manager</Channel>
<Computer>servername</Computer>
<Security />
</System>
<EventData>
<Data>Requestor: urn:uuid:7fb2b853-24f0-4498-9534-4e10589723c4
.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.HasMoreRows()
at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
at Microsoft.ResourceManagement.Query.QueryProcessor.ReadQueryResults(SqlDataReader reader, Int64& resultCount, Boolean& endOfSequence)
at Microsoft.ResourceManagement.Query.QueryProcessor.ExecuteQuery(Query query, Nullable`1 maximumTime, Boolean& endOfSequence, Boolean countResultsOnly, Int64& resultCount, Int64& executionTime)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecutePullActionImpl(PullRequestParameter pullParameter)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteEnumerateAction(RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction(RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction[ResponseBodyType](RequestType request)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request, Guid requestIdentifier, Object redispatchSingleInstanceKey, Boolean isRedispatch)
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request)
at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Enumerate(Message request)</Data>
</EventData>
</Event>
Hi Lari,
Sorry for my late response.
I have only RC1 Update 3 environment , but there are no such errors recorded.
I set the environment up following steps.
1.Install Windows Server 2008 Standard Edition(x64) SP2 Japanese
-> I installed SQL/FIM Synch/FIM Portal on this server.
2.Install SQL Server 2008 Standard Edition(x64) SP1 CU4 Japanese
3.Install Windows Sharepoint Services 3.0(x64) SP2 Japanese
4.Install Windows Sharepoint Services 3.0(x64) English Language Pack SP2
5.Create site collection on WSS with English Language Setting
6.Install FIM Synchronization Service RC1 Update3
7.Install FIM Portal Service RC1 Update3
8.Install FIM Portal Service Japanese Language Pack RC1 Update3
I tried to reproduce the error you reported following steps.1.Create Security Group with calculated member with the membership criteria is "hiring day is later than 2010/02/01".
2.Create two users whom hiring day attribute is 2010/01/01.
One user's locale is Japan.
Another user's locale is US.
3.Confirm membership of the group.
-> No error reported...That's all I have done.
If there is any different operations from yours, please tell me what you have done.
I'll try same operations as much as possible.Naohiro Fujie ( MSMVP for ILM )
- Marked As Answer byMarkus VilcinskasMSFT, ModeratorFriday, March 05, 2010 6:59 PM
- Unmarked As Answer byLari Savolainen Tuesday, March 16, 2010 12:36 PM
- Thanks for the answers.
The FIM 2010 RTM installation guide has been updated with the information I was looking for. The SQL server collation settings make the difference rather than system locale. See section "Configure SQL collation settings" in here:
http://technet.microsoft.com/en-us/library/ee534909%28WS.10%29.aspx
/Lari- Marked As Answer byLari Savolainen Tuesday, March 16, 2010 12:42 PM