链接服务器列级排序规则
Posted
技术标签:
【中文标题】链接服务器列级排序规则【英文标题】:Linked Server Column level Collation 【发布时间】:2019-01-24 13:33:18 【问题描述】:我有一个 MSSQL 2012 链接服务器,数据库排序规则设置为 Latin1_General_100_BIN2。
我正在尝试从排序规则设置为 SQL_Latin1_General_CP1_CI_AS 的 MSSQL 2005 数据库查询链接服务器。
当我执行以下查询时,我收到:遇到了无效的表格数据流 (TDS) 排序规则。
SELECT
reel_key COLLATE SQL_Latin1_General_CP1_CI_AS
FROM [SomeServer].[SomeDatabase].[dbo].[SomeTable]
链接服务器的 reel_key 字段是一个 char(7)。
从我所阅读和研究的内容来看,这应该有效,但事实并非如此。我哪里错了?
【问题讨论】:
【参考方案1】:尝试设置属性链接服务器 使用远程整理 = true 并设置排序规则名称
EXEC sp_serveroption 'SERVER', 'use remote collation', 'true'
EXEC sp_serveroption 'SERVER', 'collation name', 'SQL_Latin1_General_CP1_CI_AS'
或强制排序
SELECT
reel_key
FROM [SomeServer].[SomeDatabase].[dbo].[SomeTable]
ORDER BY reel_key COLLATE SQL_Latin1_General_CP1_CI_AS
【讨论】:
两者都没有成功。如果有帮助,这是我的设置... EXEC master.dbo.sp_serveroption @server=N'SERVER', @optname=N'collation compatible', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server= N'SERVER',@optname=N'排序规则名称',@optvalue=N'SQL_Latin1_General_CP1_CI_AS' EXEC master.dbo.sp_serveroption @server=N'SERVER',@optname=N'使用远程排序规则',@optvalue=N'真的'以上是关于链接服务器列级排序规则的主要内容,如果未能解决你的问题,请参考以下文章