Копировать хранимые процедуры из одной базы данных в другую - PullRequest
1 голос
/ 16 июля 2010

Я пытаюсь скопировать базу данных с огромными данными из SQL Server 2005 в SQL Server 2008. Я пытался использовать мастер копирования базы данных, но не смог использовать мастер, потому что это два разных сервера 2005 и 2008. Поэтому я скопировал все таблиц с помощью мастера импорта данных из SQL Server 2008.

У меня было около 1120 хранимых процедур для копирования, поэтому на SQL Server 2005 я использовал мастер Generate Script и создал скрипт (для SP), который я мог запустить на SQL Server 2008. Я запустил этот скрипт на SQL Server 2008, но было создано только 1082 процедуры, большинство из которых не были созданы из-за проблем с зависимостями. Теперь я не уверен из 1120 SP, которые не были созданы.

Можете ли вы предложить что-нибудь о том, как исправить эту ситуацию?

Ответы [ 4 ]

3 голосов
/ 16 июля 2010

SQL Server 2008 можно восстановить из файла резервной копии SQL Server 2005. Почему бы вам просто не выполнить быстрое резервное копирование и восстановление? Если вы не хотите всего этого, просто сделайте резервную копию и восстановите временную базу данных SQL 2008, а затем скопируйте нужные вам объекты оттуда.

2 голосов
/ 16 июля 2010

Чтобы выяснить, какие хранимые процедуры отсутствуют и требуют повторного создания, вы должны использовать инструменты SQL diff, например:

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

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

0 голосов
/ 16 июля 2010

Не проще ли отключить БД SQL 2005, скопировать файлы .mdf и .ldf для БД в папку данных SQL 2008, а затем Присоединить БД?

0 голосов
/ 16 июля 2010

Какие проблемы с зависимостями? В большинстве случаев он просто будет жаловаться на проблемы с зависимостями, например, если вы попытаетесь запустить SP с еще не созданного SP. Но он все равно будет создан.

Это могут быть логины или что-то подобное?

Почему бы вам просто не сделать резервную копию и восстановить базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...