我正在将一些数据库从SQL Server 2000迁移到SQL Server 2008。
我还有一个数据库需要移动。我已将其复制到2008年进行测试。
但是当我尝试将此查询从2008客户端运行回2000数据库时,我收到以下排序规则错误
SELECT *
FROM Ports.dbo.vwAppeals
给出
Msg 446,Level 16,State 8,Line 1 无法解决替换操作的排序规则冲突。
如果我运行相同的查询 - 从2008客户端到2008服务器,即在已迁移的副本上 - 它会返回预期的数据而不会出错。
它比我想象的慢一点。
vwAppeals
对象是一个视图,我检查了每个基础表上每个字段的排序规则,但没有找到除< database default>之外的任何内容。在SQL Server 2000企业管理器中。当我使用此
SELECT
col.name, col.id, col.xtype, col.collation
FROM
Ports.dbo.syscolumns col
WHERE
id IN (SELECT [id]
FROM [Ports].[dbo].[sysobjects]
WHERE name = '<name_of_underlying_table>')
AND collation IS NOT NULL
所有归类都是相同的
知道可能导致此错误的原因是什么?
答案 0 :(得分:0)
您确定没有可能影响此功能的潜在功能吗?您是否可以逐步重建视图以进行故障排除并确定冲突的来源?