У меня есть особая система в нашей сети, где нам нужно поддерживать обучающую установку. Система использует SQL Server 2000 в качестве своей базы данных, и мне нужно настроить систему для регулярного обновления данных в базе данных обучения данными из рабочей базы данных.
Я хочу использовать SSIS, поскольку у нас есть серверы SQL 2005, с которых я могу запустить процесс. У меня достаточно опыта работы с SQL, но не так много с SSIS. Я пытался сделать это с помощью «Задачи переноса базы данных», но мне не повезло, так как это всегда выдает ошибку.
Если мы игнорируем использование элементов конфигурации и т. Д. И притворяемся, что все имена баз данных и т. Д. Жестко запрограммированы, у меня есть следующее:
Единая SSIS «Задача переноса базы данных» со следующими свойствами:
- Переопределение адресата: True
- Действие: Копировать
- Метод: DatabaseOnline
Я получаю ошибку:
Ошибка: метод Execute в задаче возвратил код ошибки 0x80131500 (ОШИБКА: errorCode = -1073548784 description = Выполнение запроса «EXEC dbo.sp_addrole @rolename = N'XXXXX '» завершилось ошибкой: «роль» XXXXX 'уже существует в текущей базе данных. ". Возможные причины сбоя: проблемы с запросом, свойство ResultSet установлено неправильно, параметры установлены неправильно или подключение установлено неправильно. HelpFile = helpContext = 0 idofInterfaceWithError = {8BDFE893-E9D8 -4D23-9739-DA807BCDC2AC}). Метод Execute должен завершиться успешно и указать результат с помощью параметра «out».
Я уверен, что здесь происходит что-то очевидное, но, конечно, если задание перезаписать предварительное существование роли, не должно иметь значения? Кто-нибудь знает, что мне нужно сделать, чтобы это работало?