3

Мой хост базы данных позволяет восстанавливать базы данных SQL Server с уровнем совместимости 90 (SQL Server 2005). Моя база данных создается локально с уровнем совместимости 100 (SQL Server 2008).Уровень совместимости базы данных SQL Server

Итак, я сгенерировал скрипт моей базы данных (версия 2008) и запустил в SQL Server 2005, резервное копирование и восстановление для моего хостера базы данных, он работает. В настоящее время мне это нравится.

А потом я нашел ALTER DATABASE, что может изменить уровень совместимости базы данных любит

ALTER DATABASE database_name 
SET COMPATIBILITY_LEVEL = { 90 | 100 | 110 } 

90 = SQL Server 2005 
100 = SQL Server 2008 and SQL Server 2008 R2 
110 = SQL Server 2012 

Я поворачиваю уровень совместимости базы данных, используя этот скрипт в SQL Server 2008, резервное копирование базы данных и моих восстановление моего хостера базы данных. Но это не сработает. Я хочу знать, почему? Есть ли лучший способ исправить это?

ответ

3

Вы не можете вернуться к совместимости версий sql-сервера лучше, чтобы пройти через скрипты.

10

Вы можете НИКОГДА не восстановить базу данных из более новой версии SQL Server (например, версии) на старой SQL Server (2005), например.

Независимо от того, что вы пытаетесь, нет трюка, нет взлома, нет обходного пути - это просто не может быть сделано.

Уровень совместимости также не имеет значения. Это просто заставляет вашу новую базу данных (например, в 2008 году) вести себя так, как если бы она была более старой (например, 2005), поэтому функции, которые вы можете использовать, ограничены тем, что поддерживает более старая база данных.

Но внутренне - это по-прежнему 2008 базы данных и не может быть восстановлен в экземпляр 2005 года.

1
  1. Сделать новую базу данных
  2. Импортировать таблицы в новой базе данных
  3. Затем создать сценарий процедур и функций и запустить этот скрипт на новую базу данных