В этом посте описываются шаги по устранению проблемы, возникающей в средах, которые не являются ни Dev ни Live, например, среда UAT (тестовая среда приёмки пользователями).
1. Подключитесь удаленным доступом к вашей среде, где вы хотите отладить код, в этом примере я подключаюсь к UAT (песочнице).
2. Подключитесь к SQL серверу:
a. Получите имя сервера из учетных записей БД в LCS.
b. Используйте “.database.windows.net” в поле имени сервера для подключения к серверу БД.
3. Создайте новую учетную запись SQL, которую будет использовать разработчик. Этот шаг позволит системному администратору поддерживать безопасность среды песочницы. Разработчик будет иметь доступ к одной базе данных только в течение ограниченного времени. Используйте следующий код для создания нового пользователя в SQL:
CREATE USER devtempuser WITH PASSWORD = ‘pass@word1′
EXEC sp_addrolemember ‘db_owner’, ‘devtempuser’
4. Остановите следующие службы на машине разработки:
a. IIS или World wide web publishing service
b. Microsoft Dynamics 365 unified Operations: Batch Management service
5. Перейдите к файлу J:\AosService\WebRoot\web.config.
6. Сохраните копию исходного файла web.config, чтобы вы могли вернуть настройки к изначальным. Я скопировал файл в тот же каталог и переименовал web.config в webDev.config.
7. Отредактируйте вот эту часть в файле web.config:
До ваших изменений
<add key=”DataAccess.Database” value=”AxDB” />
<add key=”DataAccess.DbServer” value=”devDbServerName” />
<add key=”DataAccess.SqlPwd” value=”password” />
<add key=”DataAccess.SqlUser” value=”axdbadmin” />
После изменений
<add key=”DataAccess.Database” value=”sandboxdatabaseServerName” />
<add key=”DataAccess.DbServer” value=” sandboxdbName.database.windows.net” />
<add key=”DataAccess.SqlPwd” value=”P@ssw0rd” />
<add key=”DataAccess.SqlUser” value=”devtempuser” />
8. Запустите службу IIS или World wide web publishing service
9. Не запускайте службу обработки пакетных заданий (Microsoft Dynamics 365 unified Operations: Batch Management service), иначе ваши пакетные задания с разработческой машины начнут записывать данные в среду UAT. Будьте осторожны с этим шагом!!!
10. Теперь попробуйте подключиться к своей разработечской среде из браузера. Упс!!! Не подключается и выдает ошибку. Не волнуйтесь, давайте перейдем в журнал событий и посмотрим, что там
Ок, это проблема доступа, и вот решение для этого.
11. Выполните следующую команду для базы данных Master на сервере БД среды UAT. Укажите тот IP-адрес, который вы получили в тексте ошибки.
exec sp_set_firewall_rule N’PPDEV01′, ‘13.70.85.22’, ‘13.70.85.22’
12. Снова подключитесь к URL-адресу среды разработки из браузера, на этот раз должно сработать. Теперь вы имеете доступ к базе данных среды UAT (все компании и другие данные).
13. Перезапустите или запустите Visual Studio на машине разработки и подключите отладку к процессу w3wp.exe для устранения бага(-ов).
Успешно закончите отладку J
14. Теперь пришло время удалить учетку devtempuser из списка пользователей БД среды UAT, это предотвращает постоянный доступ к базе данных песочницы. Щелкните правой кнопкой мыши на пользователе devtempuser в конкретной БД | Безопасность | Пользователи и удалите его.
15. Остановите IIS.
16. Верните назад изменения в файле web.config или просто удалите скопированный и переименуйте исходный обратно из WebDev в Web.
17. Запустите IIS.
18. Запустите службу пакетных заданий.
19. Откройте URL-адрес среды разработки и убедитесь, что он снова подключен к базе данных разработки.
Справка:
https://docs.microsoft.com/en–us/dynamics365/unified–operations/dev–itpro/dev–tools/debugx–issue–against–copy–of–production
Оригинал статьи можно найти по ссылке.
Comment (1)
Добавьте, что c web.config требуется проводить операции encrypt/decrypt