Ask a questionAsk a question
 

AnswerRegional settings for FIM and SQL servers

  • Tuesday, February 09, 2010 12:56 PMLari Savolainen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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

All Replies

  • Tuesday, February 09, 2010 3:23 PMAndrea Fogazzi Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

  • Wednesday, February 10, 2010 12:05 AMNaohiro FujieMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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 )
  • Wednesday, February 10, 2010 1:51 PMLari Savolainen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    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&amp; resultCount, Boolean&amp; endOfSequence)

       at Microsoft.ResourceManagement.Query.QueryProcessor.ExecuteQuery(Query query, Nullable`1 maximumTime, Boolean&amp; endOfSequence, Boolean countResultsOnly, Int64&amp; resultCount, Int64&amp; 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>

  • Wednesday, February 17, 2010 8:59 AMNaohiro FujieMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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 )

  • Tuesday, March 16, 2010 12:42 PMLari Savolainen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    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