Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Default Server Collation for SQL - does it depend on the O/S version (standard vs. enterprise)?! Expand / Collapse
Author
Message
Posted Friday, August 13, 2010 2:42 PM
SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Saturday, September 13, 2014 11:32 PM
Points: 1,862, Visits: 3,606
I'm having the following predicament.

I recently installed SQL 2008 SP1 on 2 servers; in both installations I left the collation settings unchanged to their default values.

Server1 is on O/S: Windows Server 2008 R2 Enterprise

Server2 is on O/S: Windows Server 2008 Standard SP2

I just discovered that:

- on Server1 the Server collation for SQL is: SQL_Latin1_General_CP1_CI_AS

- on Server2 the Server collation for SQL is: Latin1_General_CI_AS

As a result, I'm getting server-collation conflict errors in multi-server queries between Server2 and other servers in my environment.

How could the default collation for SQL have changed?

I never had to worry about this while installing SQL before...

Anyone have any ideas?


__________________________________________________________________________________

Turbocharge Your Database Maintenance With Service Broker: Part 2
Turbocharge Your Database Maintenance With Service Broker: Part 1
Real-Time Tracking of Tempdb Utilization Through Reporting Services
Monitoring Database Blocking Through SCOM 2007 Custom Rules and Alerts
Preparing for the Unthinkable - a Disaster/Recovery Implementation
Post #969271
Posted Friday, August 13, 2010 7:34 PM
SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Saturday, September 13, 2014 11:32 PM
Points: 1,862, Visits: 3,606
I actually tried a brand new installation of SQL 2008 SP1 Enterprise Ed. on the server with O/S Windows Server 2008 Standard SP2, and while attempting to set the SQL_Latin1_General_CP1_CI_AS collation setting, I was told by the SQL setup that this collation setting is provided for backward compatibility only! The Latin1_General_CI_AS collation setting was offered as the default!

When I run a query spanning 2 servers, each on one of the two collation settings I get this error:

Msg 468, Level 16, State 9, Line 11
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.


Are collation settings being changed on Windows Server 2008, to the point that older collation settings may never be applicable?!

All the machines in my env are on collation setting SQL_Latin1_General_CP1_CI_AS, which means on any instance which is on collation Latin1_General_CI_AS multi-server queries will fail!


__________________________________________________________________________________

Turbocharge Your Database Maintenance With Service Broker: Part 2
Turbocharge Your Database Maintenance With Service Broker: Part 1
Real-Time Tracking of Tempdb Utilization Through Reporting Services
Monitoring Database Blocking Through SCOM 2007 Custom Rules and Alerts
Preparing for the Unthinkable - a Disaster/Recovery Implementation
Post #969329
Posted Friday, August 13, 2010 7:58 PM
SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Saturday, September 13, 2014 11:32 PM
Points: 1,862, Visits: 3,606
I found the culprit!

The Windows locale is different in Server2 from that everywhere else in my environment.

On Server2 it is English/Canada.

On the rest of my env it is English/US.

This affects the default SQL collation setting according to this link: http://msdn.microsoft.com/en-us/library/ms143508.aspx.

For English/Canada the default collation setting is Latin1_General_CI_AS.

For English/US the default collation setting is SQL_Latin1_General_CP1_CI_AS


__________________________________________________________________________________

Turbocharge Your Database Maintenance With Service Broker: Part 2
Turbocharge Your Database Maintenance With Service Broker: Part 1
Real-Time Tracking of Tempdb Utilization Through Reporting Services
Monitoring Database Blocking Through SCOM 2007 Custom Rules and Alerts
Preparing for the Unthinkable - a Disaster/Recovery Implementation
Post #969331
Posted Monday, August 16, 2010 2:47 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, January 23, 2012 12:02 PM
Points: 13, Visits: 104
I was able to switch the server collation on my SQL instance with help from this link:

http://social.msdn.microsoft.com/forums/en-US/sqldatabaseengine/thread/ab266beb-5618-4f3a-bd4b-b9fdc7f02344/

In the directory where the SQL installation setup.exe was located, I opened a command prompt window and entered:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME="instanceName" /SQLSYSADMINACCOUNTS="domainName\acctName" /SAPWD="XXXXXXXX" /SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"


I had to check this file for possible errors:

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt

The switch worked, so I don't have to re-install the SQL...

BIG RELIEF...

Just thought I would share this here, in case other people find it useful.
Post #970043
Posted Monday, August 16, 2010 4:09 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 1:10 AM
Points: 6,350, Visits: 13,671
Correct, SQL Server setup inspects the server locale during install and selects a collation based on the regional settings. It is important to set these correctly during OS deployment!

-----------------------------------------------------------------------------------------------------------

"Ya can't make an omelette without breaking just a few eggs"
Post #970077
Posted Monday, August 16, 2010 7:01 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, January 23, 2012 12:02 PM
Points: 13, Visits: 104
Perry Whittle (8/16/2010)
Correct, SQL Server setup inspects the server locale during install and selects a collation based on the regional settings. It is important to set these correctly during OS deployment!


Unfortunately I'm paying for the mistakes made by the systems admin... Life's not fair...
Post #970098
Posted Tuesday, August 17, 2010 12:40 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 1:10 AM
Points: 6,350, Visits: 13,671
mphilippopoulos (8/16/2010)
Perry Whittle (8/16/2010)
Correct, SQL Server setup inspects the server locale during install and selects a collation based on the regional settings. It is important to set these correctly during OS deployment!


Unfortunately I'm paying for the mistakes made by the systems admin... Life's not fair...


That's why I always insist that I carry out my own server builds. If I can't I check them rigorously them throw them back if they're wrong!


-----------------------------------------------------------------------------------------------------------

"Ya can't make an omelette without breaking just a few eggs"
Post #970166
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse