Database restoration in finance & operations D365 AX

*******************************************************************************
1.Run command prompt as an administrator.
2.Run the below command to Import the database. cd C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin
SqlPackage.exe /a:import /sf:J:\BackupFile.bacpac /tsn:localhost /tdn:AxDB_New /p:CommandTimeout=1200

where,
•tsn (target server name) – The name of the SQL Server to import into.
•tdn (target database name) – The name of the database to import into. The database should not already exist.
•sf (source file) – The path and name of the file to import from.

**********************************************************
Go to > windows > Microsoft SQL server Tools  > Microsoft SQL server Management > run as Administrator

use > sql server Authentication > user "axdbadmin" and respective password (from LCS)

Execute below queries one by one :-

USE [AxDB_New]
GO
CREATE USER axdeployuser FROM LOGIN axdeployuser
EXEC sp_addrolemember 'db_owner', 'axdeployuser'
CREATE USER axdbadmin FROM LOGIN axdbadmin
EXEC sp_addrolemember 'db_owner', 'axdbadmin'
CREATE USER axmrruntimeuser FROM LOGIN axmrruntimeuser
EXEC sp_addrolemember 'db_datareader', 'axmrruntimeuser'
EXEC sp_addrolemember 'db_datawriter', 'axmrruntimeuser'
CREATE USER axretaildatasyncuser FROM LOGIN axretaildatasyncuser
EXEC sp_addrolemember 'DataSyncUsersRole', 'axretaildatasyncuser'
CREATE USER axretailruntimeuser FROM LOGIN axretailruntimeuser
EXEC sp_addrolemember 'UsersRole', 'axretailruntimeuser'
EXEC sp_addrolemember 'ReportUsersRole', 'axretailruntimeuser'

CREATE USER axdeployextuser FROM LOGIN axdeployextuser
 EXEC sp_addrolemember 'DeployExtensibilityRole', 'axdeployextuser'
CREATE USER [NT AUTHORITY\NETWORK SERVICE] FROM LOGIN [NT AUTHORITY\NETWORK SERVICE]
EXEC sp_addrolemember 'db_owner', 'NT AUTHORITY\NETWORK SERVICE'

**********************************************************+

USE [AxDB_New]
Go
UPDATE T1
SET T1.storageproviderid = 0
     , T1.accessinformation = ''
     , T1.modifiedby = 'Admin'
     , T1.modifieddatetime = getdate()
FROM docuvalue T1
WHERE T1.storageproviderid = 1 --Azure storage

**********************************************************+

USE [AxDB_New]
Go
ALTER DATABASE [AxDB_New] SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 6 DAYS, AUTO_CLEANUP = ON)
GO
DROP PROCEDURE IF EXISTS SP_ConfigureTablesForChangeTracking
DROP PROCEDURE IF EXISTS SP_ConfigureTablesForChangeTracking_V2
GO


************************************************************************************************************
USE [AxDB_New]
Go
-- Begin Refresh Retail FullText Catalogs
DECLARE @RFTXNAME NVARCHAR(MAX);
DECLARE @RFTXSQL NVARCHAR(MAX);
DECLARE retail_ftx CURSOR FOR
SELECT OBJECT_SCHEMA_NAME(object_id) + '.' + OBJECT_NAME(object_id) fullname FROM SYS.FULLTEXT_INDEXES
  WHERE FULLTEXT_CATALOG_ID = (SELECT TOP 1 FULLTEXT_CATALOG_ID FROM SYS.FULLTEXT_CATALOGS WHERE NAME = 'COMMERCEFULLTEXTCATALOG');
OPEN retail_ftx;
FETCH NEXT FROM retail_ftx INTO @RFTXNAME;

BEGIN TRY
  WHILE @@FETCH_STATUS = 0 
  BEGIN 
   PRINT 'Refreshing Full Text Index ' + @RFTXNAME;
   EXEC SP_FULLTEXT_TABLE @RFTXNAME, 'activate';
   SET @RFTXSQL = 'ALTER FULLTEXT INDEX ON ' + @RFTXNAME + ' START FULL POPULATION';
   EXEC SP_EXECUTESQL @RFTXSQL;
   FETCH NEXT FROM retail_ftx INTO @RFTXNAME;
  END
END TRY
BEGIN CATCH
  PRINT error_message()
END CATCH

CLOSE retail_ftx; 
 DEALLOCATE retail_ftx;
 -- End Refresh Retail FullText Catalogs



********************************************


USE [master];
GO
ALTER DATABASE AxDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
EXEC sp_renamedb N'AxDB', N'AxDB_orig';
ALTER DATABASE AxDB_orig SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO

ALTER DATABASE [AxDB_New] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [AxDB_New] MODIFY NAME = [AxDB];
GO
ALTER DATABASE [AxDB] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
Go
************************************************************************

Go to visual studio > do full build ( synch db “yes”)

Comments

Popular posts from this blog

On clicked event of form button in D365 X++

Finding unit price of item from trade agreement through code AX X++

Create Sales Line Through Code AX X++ D365 Finance & Operations