#sql-server-2008 #try-catch #sql-server-2000
#sql-server-2008 #попробуйте-catch #sql-server-2000
Вопрос:
Я пытался использовать TRY..CATCH
функцию в хранимой процедуре SQL Server 2005, но это не сработало. Я проверил свою версию с помощью @@VERSION
, там отображалось «MS SQL Server 2000 — 8.00.194 (Intel X86) «, но когда я нажал на Справка-> О программе, там отображалось «9.00.1399.00», что четко указывает на то, что у меня установлен SQL Server 2005.
Я знаю, что это TRY..CATCH
можно использовать только на SQL server 2005 или выше..
Возможно, моя система использует Sql Server 2000 в качестве исходной базы данных или что-то в этом роде, возможно, я ошибаюсь в описании. Как это изменить тогда..
Комментарии:
1.
Help -> About
вернет версию SQL Server Management Studio (приложение, которое вы используете для запуска SQL в), а не версию SQL Server, к которому оно подключено.
Ответ №1:
После повторного прочтения вашего вопроса у вас явно установлены клиентские средства SQL Server 2005 (SSMS), а ваша база данных находится на сервере SQL Server 2000, поэтому вы не можете использовать TRY..CATCH
. Точка.
Предполагая, что у вас действительно есть сервер SQL Server 2005, вы убедились, что для конкретной базы данных установлен уровень совместимости 90 (SQL Server 2005)?
Щелкните правой кнопкой мыши база данных-> Свойства-> Уровень совместимости
Это может произойти, если вы обновите сервер и забудете обновить уровень совместимости базы данных.
Комментарии:
1. Спасибо, Митч, но на уровне совместимости у меня есть только два варианта. 1. SQL Server 7.0 и 2. SQL Server 2000 (80). У меня нет возможности установить для него значение SQL Server 2005 (или 90).
2. @Ajit D: тогда у вас, очевидно, нет SQL Server 2005 — ваш сервер базы данных — SQL Server 2000, и на этой версии вы не можете использовать
TRY....CATCH
— вам нужно обновить!
Ответ №2:
help..about
предоставляет вам версию клиентских инструментов (SSMS)SELECT @@VERSION
выдает версию сервера
Если версия сервера 8.x, то у вас SQL Server 2000, который не поддерживает TRY / CATCH. Никакие манипуляции с уровнем совместимости это не исправят.
У вас есть 3 практических варианта
- Не используйте TRY / CATCH
- Обновите версию вашего сервера
- Установите экземпляр names SQL Server 2005 в том же окне