![]() |
#1 |
Участник
|
PowerShell and SQL scripts for Database Refreshing in a Devbox
Источник: http://alexvoy.blogspot.com/2021/12/...-database.html
============== Say you created a new database AxDB_TEST2 and restored a test environment backup there. Now you need to change the databases names so that D365FO would target a restored data. First, you need to stop D365FO services, for example, with a similar PowerShell script. function StopD365RelevantService() { $services = "DynamicsAxBatch","Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe","MR2012ProcessService","LCSDiagnosticClientService" foreach ($item in $services) { Set-Service -Name $item -StartupType Disabled } Stop-Service -Name Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe -ErrorAction SilentlyContinue Stop-Service -Name DynamicsAxBatch -ErrorAction SilentlyContinue Stop-Service -Name W3SVC -ErrorAction SilentlyContinue Stop-Service -Name MR2012ProcessService -ErrorAction SilentlyContinue Stop-Service -Name LCSDiagnosticClientService -ErrorAction SilentlyContinue Set-Service -Name W3SVC -StartupType Automatic } Then you can use the following SQL script to 'exchange' two databases. use master ALTER DATABASE AxDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE AxDB MODIFY NAME = AxDB_ORIG ALTER DATABASE AxDB_ORIG SET MULTI_USER ALTER DATABASE AxDB_TEST2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE AxDB_TEST2 MODIFY NAME = AxDB ALTER DATABASE AxDB SET MULTI_USER Once it is done, get the services back to life function StartD365RelevantService() { #Set-Service -Name "DynamicsAxBatch","Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe","W3SVC","MR2012ProcessService" -StartupType Automatic $services = "DynamicsAxBatch","Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe","W3SVC","MR2012ProcessService","LCSDiagnosticClientService" foreach ($item in $services) { Set-Service -Name $item -StartupType Automatic } #Set-Service -Name 'DynamicsAxBatch' -StartupType Automatic Start-Service -Name Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe -ErrorAction SilentlyContinue Start-Service -Name DynamicsAxBatch -ErrorAction SilentlyContinue Start-Service -Name W3SVC -ErrorAction SilentlyContinue Start-Service -Name MR2012ProcessService -ErrorAction SilentlyContinue Stop-Service -Name LCSDiagnosticClientService -ErrorAction SilentlyContinue } Источник: http://alexvoy.blogspot.com/2021/12/...-database.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
![]() |
#2 |
Участник
|
Спасибо, отличный скрипт, чтобы избежать некоторого ручного труда
![]() Цитата:
Ты теперь еще за ним полдня бегать будешь - чтобы фотографию отдать...
PS. а службу MR я в DevBox обычно отключаю - она только зазря ресурсы жрет и базу грузит ![]() |
|
|
За это сообщение автора поблагодарили: sukhanchik (20), Logger (15). |
![]() |
#3 |
Участник
|
А чем кстати не устроили d365fo.tools?
Т.е. многое из описанного в нем есть https://github.com/d365collaborative...pac-Into-Tier1 |
|
|
За это сообщение автора поблагодарили: sukhanchik (10), gl00mie (3). |
![]() |
#4 |
Участник
|
Вот мои скрипты которые построены на базе d365fo.tools
https://github.com/valerymoskalenko/...rShell-scripts |
|
![]() |
#5 |
Участник
|
Цитата:
Код: #region Stop and Disable Management Reporter Service <-- Write-Host "Stop and Disable Management Reporter Service (Optional)" -ForegroundColor Yellow Write-Host "..Stopping and Disabling Management Reporter Service" -ForegroundColor Yellow Stop-Service -Name MR2012ProcessService -Force Set-Service -Name MR2012ProcessService -StartupType Disabled #endregion Stop and Disable Management Reporter Service --> |
|
|
|