Проблемы с БД после публикации с помощью мастера публикации баз данных из MSFT

Я работаю над несколькими сайтами DotNetNuke, и иногда (пока не выяснил общий фактор), когда я использую Мастер публикации баз данных от Microsoft для создания сценариев для сайта, который я создал на своем сервере Dev, после запуска Сценарии на хосте (обычно GoDaddy.com) и при загрузке файлов сайта я получаю сообщение об ошибке ... Я на 99,9% уверен, что это не связано с файлами, поэтому не уверен, с чего начать в БД. К сожалению, с DotNetNuke вы получаете не YSOD, а общую ошибку, без реального способа найти действительное исключение, которое произошло.

Мне просто любопытно, были ли у кого-нибудь похожие проблемы с использованием мастера публикации баз данных, и если да, то как они их преодолели? У меня есть набор инструментов RedGate, но некоторые хосты, такие как GoDaddy, не позволяют напрямую подключаться к их серверам ...

18.08.2008 15:55:34
7 ОТВЕТОВ

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

1
18.08.2008 19:39:33

Вы должны быть в состоянии раскрыть основное сообщение об ошибке, установив в файле web.config следующее:

customErrors mode="Off"

Не могли бы вы рассказать о том, как "и загружать файлы сайта"? Новый экземпляр DNN? обновить существующий сайт? обновление версии DNN? Если обновить или обновить - какие файлы вы добавляете / перезаписываете?

Кроме того, при использовании GoDaddy, вы можете проверить, чтобы удостоверение веб-сайта (сетевая служба или учетная запись компьютера asp.net в зависимости от вашей версии IIS) имело достаточные разрешения для файловой системы сайта? Он должен иметь разрешения на изменение, и их может потребоваться повторно применить, если вы перезаписываете файлы.

  • IIS6 (XP, Server 2000, 2003) = учетная запись компьютера ASP.Net
  • IIS7 (Vista, Server 2008) = Сетевая служба
0
19.08.2008 15:10:29

Протестируйте сгенерированные сценарии в новой локальной базе данных (с использованием бесплатного продукта SQL Express или полного предложения еды). Если он работает нормально локально, то вы можете быть уверены, что он будет работать в другом месте, при прочих равных условиях.

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

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

0
4.09.2008 02:49:05

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

0
4.09.2008 02:51:05

Если вы получаете одну из страниц ошибок DNN, есть вероятность, что она записала ошибку в таблицу событий.

0
4.09.2008 20:54:35

Есть две области, на которые я бы посмотрел -

  1. Вы работаете в схеме dbo, и ваша база данных с сценариями использовала dbo?
  2. Используете ли вы objectqualifier или в вашем dev или в вашей производственной среде? (посмотрите на настройки конфигурации вашего sqldataprovider)
1
17.05.2013 14:38:09

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

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

С GoDaddy я знаю, что еще одна распространенная проблема MAJOR - неправильные права доступа к файлам, не позволяющие DNN изменять файл web.config и другие файлы, необходимые для этого.

0
17.09.2008 05:39:29