关于 SQL Server 所需的排序规则设置存在大量相互冲突或令人困惑的信息,因为它涉及托管 SCSM 2012 数据库和相关数据仓库数据库。
在安装过程中,如果保留默认排序规则(即 SQL_Latin1_CP1_CI_AS),则会出现此错误。
对于此版本,请确保在承载 Service Manager 数据库、数据仓库数据库、Analysis Services 数据库和 Reporting Services 数据库的计算机上的 SQL Server 和 Analysis Services 中使用相同的排序规则。有关 SQL Server 排序规则的详细信息,请参阅使用 SQL Server 排序规则。
如果您的 SQL Server 安装使用默认排序规则 (SQL_Latin1_General_CP1_CI_AS),则会出现一条警告消息,指出该排序规则不是 Service Manager 支持的排序规则之一,并且不受支持的排序规则可能会导致多语言环境中出现不可预测的行为。
警告
使用默认排序规则 (SQL_Latin1_General_CP1_CI_AS) 时,Service Manager 无法支持多种语言。如果稍后您决定使用不同的排序规则支持多种语言,则必须重新安装 SQL Server。在仅安装英语的 Service Manager 中使用默认排序规则不会出现任何问题。有关语言支持的详细信息,请参阅System Center 2012 的语言支持 - Service Manager。
按照该链接,SQL_Latin1_General_CP1_CI_AS 被列为受支持的排序规则!这时我的大脑开始爆炸。
还有许多参考资料指出,分析服务、报告服务和 DBE 都需要相同的排序规则集,但 SQL_Latin1_General_CP1_CI_AS 都不适用于它们。有 Latin1、不区分大小写、区分重音的选项可用,但没有 SQL_Latin1_General_CP1_CI_AS。
更糟糕的是,服务经理的文档说,为了将 SCOM 数据拉入 SCSM 数据仓库,排序规则必须匹配。然而,SCOM 2012 SP1 文档状态 :
所有数据库的 SQL Server 排序规则设置必须为下列之一:SQL_Latin1_General_CP1_CI_AS、French_CI_AS、Cyrillic_General_CI_AS、Chinese_PRC_CI_AS、Japanese_CI_AS、Traditional_Spanish_CI_AS 或 Latin1_General_CI_AS。不支持其他排序规则设置。
因此,似乎为了将 SCOM 数据拉入 SCSM,您被迫使用不受支持的排序规则,从而将您限制为单一语言。对吗?如果是这样,为什么 SQL_Latin1_General_CP1_CI_AS 被列为受支持和兼容的排序规则,为什么安装程序会对此抱怨?
我是不是在睡梦中死去,然后在地狱醒来?
答案1
我终于从微软一位非常聪明的先生那里得到了直接的答复。我将分享我们的调查结果中不包含可识别客户信息的内容:
OpsManager 数据库和 SM DWStagingAndConfig 数据库必须具有匹配的排序规则区域设置不一定与某些文档所暗示的排序规则完全相同。
只要单个组件支持,OM 和 SM 中的所有其他数据库都可以具有不匹配的排序规则(和区域设置)。
无论 SQL Server 排序规则如何,SCOM 数据仓库始终使用 SQL_Latin1_General_CP1_CI_AS。这是一个产品问题,因此只能在默认排序规则为 SQL_Latin1_General_CP1_CI_AS 的 SQL Server 实例上安装 SCOM。
在所有 SCOM 数据库都位于同一台服务器上并且所有 SCSM 数据库都位于同一台服务器上的情况下,这意味着:
SCOM 应安装在具有默认排序规则 SQL_Latin1_General_CP1_CI_AS 的 SQL Server 实例上
Ops Manager 和 Service Manager 最好安装在具有匹配排序规则的服务器上,但允许存在一些差异,如下所示(请注意,据我所知,这并未在任何地方发布)。请注意,要进行匹配排序规则,您需要使用 SQL_Latin1_General_CP1_CI_AS,这会将您锁定为仅限英语。
如果您要将 SM 和 OM 共置在同一台服务器上,请确保在 SQL 安装期间选择左侧的 3 个排序规则之一。
如果您在不同的 SQL Server 实例上安装 SM 和 OM,请确保支持排序规则(注意:默认情况下,SQL 在美国英语操作系统上安装排序规则为 SQL_Latin1_General_CP1_CI_AS)。
微软的工程师建议将 Service Manager 安装在具有 Latin1_General_100_CI_AS 的服务器上,将 SCOM 安装在具有 SQL_Latin1_General_CP1_CI_AS 的服务器上,因为 SCOM 数据仓库安装程序存在错误。
答案2
这看起来是微软文档过时且不准确的又一案例。摘自关于 System Center 2012 的 SQL Server 排序规则要求的说明来自 System Center MSDN 博客:
对于 System Center 各个组件的 SQL Server 排序规则要求,存在很多混淆。我们在此没有做出协调努力,以使其尽可能简单。在某些情况下,文档本身存在冲突。
(我当然不是要批评微软——但任何使用过其产品一段时间的人都知道,文档和新产品发布之间通常存在滞后。无论对错,他们似乎有一种先发布部分内容再发布文字的文化……)
本文的主旨是 SCSM 和 SCOM 之间的文档存在冲突。本文继续描述已测试为兼容的排序规则(文章底部附近的矩阵)。
答案3
使用排序规则 Latin1_General_CI_AS。System Center 2012 中支持该排序规则SP1套房。
看http://technet.microsoft.com/en-us/library/jj656654.aspx和http://blogs.technet.com/b/servicemanager/archive/2012/05/24/clarification-on-sql-server-collation-requirements-for-system-center-2012.aspx