Понижение SQL-сервера 2008 к SQL Server 2005

atOffset возвращает значение OffsetDateTime , которое имеет другое значение Мин / Макс.

Минимальный поддерживаемый OffsetDateTime, '-999999999-01-01T00: 00: 00 + 18: 00'.

Максимально поддерживаемое значение OffsetDateTime, '+ 999999999-12-31T23: 59: 59.999999999-18: 00'.

blockquote>

В javadoc упоминается, что эти минимальные / максимальные значения получены из LocalDateTime вместе с максимальными смещениями зоны, поэтому кажется, что они не совпадают до Instant

Причина, по которой у Мгновенного есть дополнительный год в обе стороны, согласно документации Мгновенное .

Это на год раньше минимального LocalDateTime. Это обеспечивает достаточные значения для обработки диапазона ZoneOffset, которые влияют на момент в дополнение к локальной дате и времени. Значение также выбирается таким образом, чтобы значение года помещалось в целое число.

blockquote>

Охватывает крайний случай, когда LocalDateTime + Offset приводит к времени предыдущего года.

Максимальным практическим значением будет минимальное значение OffsetDateTime, преобразованное в мгновенное значение, поскольку все, что находится до этой даты, является буфером, для которого нет эквивалентного OffsetDateTime.

6
задан gersh 11 May 2009 в 19:33
поделиться

3 ответа

Ну, вы не сможете восстановить резервную копию 2008 года на сервере SQL 2005.

Самый простой способ сделать это - использовать мастер «Создать сценарии SQL Server» для создания сценария (включая схему и данные), который можно запустить в SQL 2005 для создания базы данных. См. http://www.devx.com/dbzone/Article/40531

Но вернемся к исходной проблеме: какие проблемы у вас возникают с SQL 2008?

8
ответ дан 16 December 2019 в 21:45
поделиться

Я согласен, в чем проблема? Вы не можете запустить базу данных в режиме совместимости с SQL 2005, если это связано с приложением. Если вам нужно перейти на 2005 год, вы не можете просто восстановить базу данных с 08 по 05.

Если у вас есть база данных размером более 50 МБ или около того, я бы написал сценарий вашей схемы базы данных с помощью мастера создания сценария, сценарий всех ваших ключей, индексов , триггеры, сопоставление и любые полнотекстовые индексы без данных. Просто не забудьте проверить сценарий на наличие варианта версии sql 2005. Запустите этот сценарий, чтобы создать новую базу данных на вашем сервере sql 2005.

Если в ваших таблицах есть триггеры, вы захотите отключить их все перед импортом данных. Эти сценарии сделают это за вас. Они сделают это за вас

-- Disable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'DISABLE Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

-- Enable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'Enable Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

Затем используйте мастер импорта / экспорта, чтобы импортировать данные в вашу базу данных; По моему опыту, это намного быстрее, чем сценарий вывода.

0
ответ дан 16 December 2019 в 21:45
поделиться

Другой способ сделать это - подключиться к обоим серверам через обозреватель объектов и импортировать данные с одного на другой.

Когда Однако при этом некоторые вещи не передаются правильно. Например, мне пришлось вручную сбросить настройки первичного и внешнего ключей, а также настройку автоинкремента. Однако это была небольшая цена за то, чтобы заставить все данные работать.

0
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: