Как скопировать и перезаписать базу данных в SQL Server 2005 с помощью служб SSIS? - PullRequest
4 голосов
/ 20 февраля 2009

Я должен пропустить что-то действительно простое здесь!

У меня есть база данных в моей среде разработки под названием Project. У меня есть база данных в моей тестовой среде под названием Project_UAT.

Я создал пакет служб SSIS, который успешно скопировал мою базу данных из Project в Project_UAT. Я уверен, что это устраняет большинство проблем с разрешениями и конфигурацией.

Теперь я хочу заново создать пакет и на этот раз разрешить ему перезаписать место назначения, которым является Project_UAT. Это просто потому, что время от времени я хочу нажимать кнопку в Microsoft SQL Management Studio, которая выдвигает новую схему базы данных, данные, пользователей и все остальное в мою среду тестирования. Я ХОЧУ перезаписать данные.

Таким образом, я создаю пакет точно так же, как и раньше, но на этот раз я указываю уже существующее имя базы данных как «База данных назначения» и выбираю переключатель «Удалить любую базу данных на сервере назначения с тем же именем затем продолжите передачу базы данных, перезаписав существующие файлы базы данных. "

Я нажимаю Далее, и что это говорит мне?

"Имя базы данных уже существует в месте назначения"

Ну, я ЗНАЮ! Я только что сказал, что хочу перезаписать это!

Как мне сделать эту работу?

Ответы [ 4 ]

2 голосов
/ 20 февраля 2009

Вы можете добавить задачу «Выполнение SQL» в поток управления, чтобы удалить базу данных. Просто установите для свойства SQLStatement значение

DROP DATABASE Project_UAT

После выполнения этого шага новая копия базы данных Project_UAT не должна будет перезаписывать старую.

2 голосов
/ 20 февраля 2009

Не уверен, что я упускаю суть, но почему вы не используете задачу для удаления / удаления существующей базы данных до этапа развертывания?

Возможно, вы могли бы квалифицировать задачи компонента SSIS, которые вы используете в своем пакете служб SSIS.

Ура, Джон

1 голос
/ 26 июля 2010

У меня была эта проблема, потому что я удалил базу данных заранее. База данных не находится в папке назначения, но SQL Server 2008 по-прежнему считает, что она там есть. Обновить не работает. И SQL Server не соблюдал выбор «Удалить любую базу данных на конечном сервере ...». Он просто жаловался, что база данных уже существует.

0 голосов
/ 23 июля 2009

Ребята, это здравый смысл. Много сложности ни за что.

Резервное копирование целевой базы данных, в которую вы хотите скопировать, и удаление целевой базы данных.

Откройте мастер копирования базы данных и следуйте инструкциям.

Используйте метод отсоединения и прикрепления.

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

Теперь он перейдет к следующему экрану.

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

Возможно, я что-то упустил, но это сработало для меня.

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