sql server排序规则冲突

问题1:

  

 

解决:

  数据库的排序规则不同,a表为临时表,用的是tempdb的排序规则,tempdb一般用的实例默认的排序规则。

  而 b表用的是db_tank的排序规则,所以在两个表做字段匹配、计算等操作时会报错排序规则冲突。

set @mdf=(SELECT dsize/1024 FROM #tf_driver a,db_tank..sysfiles b WHERE b.name='Db_Tank_Data' and a.driver COLLATE chinese_prc_ci_as =LEFT(b.FILENAME,1))
set @ldf=(SELECT dsize/1024 FROM #tf_driver a,db_tank..sysfiles b WHERE b.name='Db_Tank_Log' and a.driver COLLATE chinese_prc_ci_as =LEFT(b.FILENAME,1))

 

 

问题2:

  两个不同版本的sql server ,本地的是2005,链接服务器的是2008R2,排序规则不一致,无法直接比较连接

   

解决:见最后一行

select t1.name,t1.system_type_id,t1.user_type_id,t1.max_length,t2.* from (
select * from test2.sys.columns where object_id=object_id('Sys_Users_History')
) t1 join (
select t2.name tab_name,t1.name,t1.system_type_id,t1.user_type_id,t1.max_length
from [10.1.4.234].db_tank.sys.columns t1 
join [10.1.4.234].db_tank.dbo.sysobjects t2  on t1.object_id=t2.id and t2.name = 'Sys_Users_History'
) t2 on t1.name=  t2.name collate Chinese_PRC_90_CI_AI

 

参考文章:

  修改sql server实例、数据库、表、字段的排序规则

  (3.6)常用知识-字符编码与排序规则

posted @   郭大侠1  阅读(980)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2019-04-15 linux网络设置和虚拟机克隆转移之后网卡找不到
2019-04-15 【sql server复制】sql server外网复制+非默认端口
点击右上角即可分享
微信分享提示