Проблемы с БД после публикации с помощью мастера публикации баз данных из MSFT - PullRequest
3 голосов
/ 18 августа 2008

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

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

Ответы [ 7 ]

1 голос
/ 05 сентября 2008

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

  1. Работаете ли вы в схеме dbo и была ли ваша база данных со сценариями используя dbo?
  2. Используете ли вы квалификатор объекта в вашем dev или производственная среда? (посмотрите на конфигурацию вашего sqldataprovider Настройки)
1 голос
/ 18 августа 2008

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

0 голосов
/ 17 сентября 2008

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

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

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

0 голосов
/ 05 сентября 2008

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

0 голосов
/ 04 сентября 2008

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

0 голосов
/ 04 сентября 2008

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

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

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

0 голосов
/ 19 августа 2008

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

customErrors mode="Off"

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

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

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