【问题标题】: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)。

从我所阅读和研究的内容来看,这应该有效,但事实并非如此。我哪里错了?

【问题讨论】:

    标签: tsql sql-server-2005 sql-server-2012 collation


    【解决方案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'collat​​ion 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'真的'
    猜你喜欢
    • 2015-03-05
    • 2016-06-07
    • 2011-12-20
    • 2011-04-06
    • 2017-06-28
    • 2014-02-22
    • 2013-10-18
    • 2019-04-09
    • 2019-07-07
    相关资源
    最近更新 更多