Agreed @Mark_Wonsil - Common tools/methods that work for both of us are certainly better…
@AmilaAmarasinghe_Str never mentioned if they are cloud or not, and given the direction of Epicor, I think @markdamen and I may be re-writing our ‘scripts’ sooner than we want to be!
We have recently set up transaction replication for reporting and it works fine. As all of the code for bpms, baqs, dashboards is al in the database now, I am not sure how that would impact the dev environment.
This is a link to KB0050119 on the steps needed after moving a database.
I have multiple test enviroments - the daily refresh one is called “MRP”, and allows us to test things that we know will get overwriten at 1am the following day.
We have another called Dev, which we refresh once every few months or after a version change.
We have one called UpgradeTest, which I always apply the latest version to for testing.
@MikeGross - Actually i did opened a case in Epiccare and what they mentioned is they do not have particular recommendation on what options are better and asked me to reach community here for their experience.
Does anyone have experience with any other 3rd party tools such as Oracle GoldenGate?
Would also be interested in that as would love to automate that process.
Been recently listening to The Phoenix Project on audible about IT in a large manufacturing business. Not all relevent to an SME but definately makes you think about how best to apply IT in an SME.
BACKUP DATABASE [Epicor10Live] TO DISK = N'T:\AutoCopy_Epicor10DB.bak' WITH COPY_ONLY, NOFORMAT, INIT, NAME = N'Epicor10Live-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
Restore DB
ALTER DATABASE [Epicor10MRP] SET SINGLE_USER WITH ROLLBACK IMMEDIATE RESTORE DATABASE [Epicor10MRP] FROM DISK = N'T:\AutoCopy_Epicor10DB.bak' WITH FILE = 1, MOVE N'Epicor10Live' TO N'M:\SQL DBs\Epicor10MRP.mdf', MOVE N'Epicor10Live_log' TO N'L:\SQL Logs\Epicor10MRP_Log.ldf', NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [Epicor10MRP] SET MULTI_USER
GO
Update SQL Script
USE [Epicor10MRP]
GO
UPDATE [Erp].[Company]
SET [Name] = '*** BV Dairy - MRP Test Environment ' + convert(varchar, GetDate(), 103) + ' ***'
WHERE [Company] = 'BVD'
GO
UPDATE [Ice].[SysCompany]
SET [Name] = '*** BV Dairy - MRP Test Environment ' + convert(varchar, GetDate(), 103) + ' ***'
WHERE [Company] = 'BVD'
GO
UPDATE [Ice].[FavItems]
SET [AppServerURL] = REPLACE(AppServerURL, 'Live', 'MRP')
GO
UPDATE [Ice].[Menu]
SET [Program] = REPLACE(Program, 'Live', 'MRP')
GO
UPDATE [Ice].[SysCompany]
SET [EntSearchURL] = ''
GO
UPDATE [Ice].[SysConfig]
SET [SysCharacter01] = ''
GO
UPDATE [Ice].[BpDirective]
SET [IsEnabled] = 0
WHERE [Source] = 'DB' and [BpMethodCode] = 'Erp.PartTran.Update' and [Name] = 'KanbanAutoPrint'
GO
public void Main()
{
// TODO: Add your code here
string body = string.Empty;
body = "Epicor10LIVE Database has been copied to Epicor10MRP\n\n";
body += "The LATEST Transaction Date in the newly copied Epicor10MRP DB is ";
body += Dts.Variables["User::LatestTranDate"].Value;
body += "\n\nIf this date is not today's date, then check to ensure the copy has worked as expected.";
Dts.Variables["User::EmailBody"].Value = body;
Dts.TaskResult = (int)ScriptResults.Success;
}
@AmilaAmarasinghe_Str - I’ve not seen anyone mention another product such as that but there are plenty of ‘scripting’ mechanisms out there. For example, many folks can do this all in PowerShell and if you do a bit more research the Epicor Admin Console functions are almost all available to you in command line form. Given all the options presented here (and above) I’m sure you can fashion an easily maintainable and reliable process for little or no $$.
Correct, it’s stopping the service and therefore bringing down all Task agents for the apps hosted on that server. There are no processes configured to run at the same time, and the factory staff that would be working at 1am when it processes this SSIS package wouldn’t be doing anything that requires task agent.
I’ll check the help files in EAC, there could well be a script to stop just my MRP task agent.
Take a look at your [Ice.ExtServiceRegistration] table. I think you might want to clean up any references to your production task agents. Personally I’d be inclined to delete the task agent on your destination app server and add it back again after you’ve done the restore. It makes me feel uncomfortable having any reference to production environments in a test/dev one. As always happy to told different.