Я выполняю миграцию некоторых баз данных с SQL Server 2000 на SQL Server 2008.Не удается разрешить конфликт сортировки для замены операции
У меня есть одна БД, которую нужно переместить. Я скопировал его в 2008 году для тестирования.
Но я получаю следующую ошибку сортировки, когда я пытаюсь запустить этот запрос от клиента 2008 обратно в базу данных 2000
SELECT *
FROM Ports.dbo.vwAppeals
дает
Msg 446, уровень 16, состояние 8 , Строка 1
Невозможно разрешить конфликт сортировки для замены операции.
Если я запускаю тот же запрос - от клиента 2008 до сервера 2008 года, то есть на переносимой копии, он возвращает ожидаемые данные без ошибок.
Это немного медленнее, чем я ожидал.
vwAppeals
объекта представляет собой вид, и я проверил параметры сортировки для каждого поля на каждом из базовых таблиц, не найдя ничего другого, кроме < базы данных по умолчанию > в SQL Server 2000 Enterprise Manager. Когда я проверяю в SQL Server Management Studio на 2008 копии с использованием этого
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
все параметры сортировки одинаковы
Любая идея, что может быть причиной этой ошибки?
Просмотрите этот https://msdn.microsoft.com/en-us/library/bb510680(v=sql.110).aspx – Paparazzi
Знаете ли вы, что ошибка определенно связана с представлением, то есть вид на самом деле использовать функцию замены? –
«SELECT * FROM Ports.dbo.vwAppeals WHERE 1 = 0' work, т. Е. Возвращает пустой набор результатов? Если это так, то, по крайней мере, вы знаете, что ошибка возникает во время оценки выражения, а не во внешнем процессе. –