Как изменить целевой сервер базы данных в SQL Server? - PullRequest
0 голосов
/ 11 апреля 2011

Я пытался использовать функцию TRY..CATCH в хранимой процедуре SQL Server 2005, но она не работала.Я проверил свою версию, используя @@VERSION, она отображала «MS SQL Server 2000 - 8.00.194 (Intel X86)», но когда я нажала «Справка-> О программе», она отобразила «9.00.1399.00», в которой четко указано, что у меня SQL Server2005 установлен.

Я знаю, что TRY..CATCH можно использовать только на SQL Server 2005 или более поздней версии.

Моя система может использовать Sql Server 2000 в качестве исходной базы данных или что-то подобное, яможет быть неправильно в описании.Как это изменить то ..

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

После повторного чтения вашего вопроса у вас явно установлены клиентские инструменты SQL Server 2005 (SSMS) и ваша база данных находится на сервере SQL Server 2000, поэтому вы не можете использовать TRY..CATCH.Период.

Предполагая, что у вас действительно есть сервер SQL Server 2005, убедитесь, что для конкретной базы данных установлен уровень совместимости 90 (SQL Server 2005)?

Щелкните правой кнопкой мыши базу данных-> Свойства-> Уровень совместимости

Это может произойти, если вы обновите сервер и забудете обновить уровень совместимости базы данных.

2 голосов
/ 11 апреля 2011
  • help..about дает вам версию клиентских инструментов (SSMS)
  • SELECT @@VERSION дает вам версию сервера

Если версия сервера 8.x, значит, у вас есть SQL Server 2000, который не поддерживает TRY / CATCH. Никакое количество возни с уровнем совместимости не исправит это.

У вас есть 3 практических варианта

  • Не использовать TRY / CATCH
  • Обновите версию своего сервера
  • Установить экземпляр SQL Server 2005 для имен в том же окне
...