Назад | Перейти на главную страницу

Переход с «сервера MSSQL» на другой SQL-сервер

У меня есть приложение, для которого требуется эта более старая версия «MSSQL Server». Могу ли я без проблем обновить СУБД до другого (желательно бесплатного) продукта?

У него много сообщений «Недостаточно места на жестком диске», и приложение, которое его использует, все больше и больше дает сбой.

Спасибо за совет!

Итак, если вы никогда не выполняете резервное копирование SQL Server, он бесконечно использует пространство по мере того, как журналы транзакций растут и растут. Вы пробовали сделать резервную копию? Резервное копирование вызывает контрольную точку, которая позволяет SQL-серверу знать, что ему не нужно хранить определенные файлы журнала транзакций.

Возможно, вам потребуется создать резервную копию в удаленной системе, если диск переполнен. Помните, что резервная копия будет записана учетной записью Windows, под которой работает SQL, а не вашей учетной записью пользователя, поэтому пользователю необходимо иметь доступ к общему сетевому ресурсу, для которого вы пытаетесь выполнить резервное копирование.

Для справки: http://technet.microsoft.com/en-us/library/ms189085.aspx

Конечно, есть и другие причины роста файла MSSQL, включая вставку данных. ;) Если это не так, вы можете посмотреть на такие вещи, как транзакции, которые никогда не совершались.

Ответ на ваш заданный вопрос о переходе с MSSQL на другую платформу заключается в том, что это зависит. Если вы имеете в виду приложение, которое уже поддерживает несколько бэкэндов БД, то это может быть так же просто, как выгрузить ваши данные в некоторый универсальный формат, затем импортировать их на платформу БД, которую вы предпочитаете, а затем переключить ваше приложение на использование предпочитаемой БД. - но в большинстве случаев не все так просто. В большинстве случаев приложение тесно связано с платформой РСУБД, и не так просто «изменить серверные части» без переписывания значительных частей кода.

Помимо комментария GregD, возможно, хосту не хватает места.

Вы можете обновить свой вопрос, указав следующую информацию:

  • Версия SQL Server?
  • Разбиение жесткого диска на разделы и место на диске?
  • Размер файлов данных и журналов SQL Server?
  • Планы обслуживания, которые у вас есть?

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

Что касается перехода на более современную версию SQL, вам нужно сначала настроить тестовую лабораторию, а затем опробовать приложение на SQL Expr 2005 или 2008. Я бы также перевел базу данных в режим совместимости, чтобы обеспечить еще большую совместимость.

Возможно, вы не можете сопоставить приложение с другой версией, поскольку оно может использовать хранимые процедуры или представления, которые существуют только в той версии сервера MSSQL, с которой оно связано.

Если вы не можете обновить базу данных и действительно испытываете проблемы с ресурсами, вам необходимо изучить следующее:

  • Обновите систему, добавив больше места на жестком диске
  • Добавьте на сайт небольшой SAN и подключитесь к системе. Переместите базу данных SQL в сеть SAN для повышения производительности
  • Обновите систему, заменив металл, на котором она работает
  • Рассмотрите возможность консолидации службы, подумав о виртуализации, если не требуется чрезмерный ввод-вывод / память

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

В зависимости от сложности вашего приложения вы можете обновить его, чтобы использовать SQL Server 2008 экспресс, что бесплатно.

Вероятно, вы могли бы использовать клиент SQuirreL java SQL для экспорта базы данных, а затем импортировать ее в другую базу данных. Это немного требует обучения ... я бы сказал, что идея журнала транзакций / резервного копирования намного лучше ...