Проблемы с развертыванием базы данных с использованием VS2010 (вкладка «Пакет / публикация SQL») - PullRequest
6 голосов
/ 09 июня 2010

Справочная информация:
Я использую инструменты развертывания в Visual Studio 2010.
Я щелкнул правой кнопкой мыши свой проект и выбрал параметры Пакет / публикация.Поместите все мои настройки туда ...

Затем я использую "веб-развертывание" для передачи файлов на мой удаленный сервер, на котором запущена служба удаленного агента, и это работает нормально.Преобразования, которые есть в моем Web.Release.config, делают свое дело, и сервер может получить доступ к базе данных, которую я создал вручную.

Проблема:
Следующим моим шагом было получение базы данных.Развертывание тоже работает.Я перешел на вкладку «Пакет / публикация SQL» и ввел строку подключения для целевой базы данных.

(Data Source=MyDBServer;Initial Catalog=Database2;User ID=User;Password=pass)

Эта база данных пуста и готова принять импорт.

Я также ввожу строку подключения для исходной базы данных.Это живет на том же сервере.

(Data Source=MyDBServer;Initial Catalog=Database;User ID=User;Password=pass)

Для параметров сценариев базы данных задано значение Схема и данные (изменение не имеет значения), а для сценариев базы данных установлено значение [Автоматически сгенерированные схема и данные]

При развертывании сейчас, я получаю сообщение об ошибке:

Ошибка 4 Задача веб-развертывания не выполнена ((09/06/2010 16:41:51) Произошла ошибка при обработке запроса на удаленном компьютере.)

(06.09.2010 16:41:51) Произошла ошибка при обработке запроса на удаленном компьютере.В данный момент тип записи «Неизвестно» не ожидается.Поток сериализации может быть поврежден.

Дополнительная информация:
Я могу успешно создать пакет без проблем.Я посмотрел на содержимое в zip и вижу, что SQL генерируется нормально (поэтому никаких проблем с подключением к базе данных).Затем я могу скопировать этот SQL и выполнить его как новый запрос к новой базе данных, и таблицы и данные будут созданы нормально.

Кажется, я не могу понять, где это происходит не так, я погуглил ошибку ив интернете нет записейУ кого-нибудь есть идеи?

Приложение:
Чтобы получить дальнейшее представление о том, что может происходить, я отправил пакет на сервер и импортировал его с помощью IIS.Он сказал мне, что мне нужны объекты управления SQL Server.Так что я установил это.Следующая попытка показала, что у моего пользователя нет разрешения на создание базы данных, я подумал, что это должно быть проблемой.: Предоставленный доступ - Повторный запуск.Прошло!Так что я удалил все таблицы и вернулся к VS2010 нажал опубликовать, и я получил ту же ошибку.(

1 Ответ

3 голосов
/ 10 июня 2010

Сортировка!

Слава Богу, у меня совершенно не было идей, когда я вернулся к видео от Hanselman. Он упомянул, что агент веб-развертывания может иметь разрешения. Я вошел, посмотрел, и в его свойствах была вкладка, называемая вход в систему.

Я ввел данные учетной записи с достойным уровнем доступа и нажал кнопку ОК.

Затем я перезапустил службу в соответствии с просьбой включить изменения.

Затем я вернулся к VS 2010 и щелкнул Publish Web.

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

Я думаю, что напугал офис, немного взволнованный, если у вас возникла эта проблема, и это решение решает ее для вас, попробуйте удержаться от соблазна выкрикнуть: «ДА! пока маниакально смеетесь, или люди подумают, что вы странные, как я.

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