TIP: Reparar permisos en DYNAMICS NAV 2018 y SQL Server 2016

Hemos tenido que restaurar una copia de seguridad de Microsoft Dynamics NAV 2016, de otro servidor, en un MsSQL 2014, y no ha sido fácil, hasta darme cuenta que el script de reparar permisos en SQL ya no funciona con la versión NAV 2018 como en anteriores, ya que han creado campos nuevos en las tablas de
[dbo].[User] , [dbo].[User Property] y [Access Control]y claro no permite NULL.

Nota: Desde una consola CMD, usa el comando: whoami/user que te devuelve el WINDOWSSID y NOMBRE COMPLETO DEL SERVIDOR SQL

Con el siguiente script ejecutado desde la consola de SQL, creará los permisos en NAV para un usuario, en ese caso Administrator, que será el que ejecute el NAV apliccation (Servicio de aplicación) y de esta manera poder conectarte con el cliente Dynamics NAV a la Instancia.

USE [NOMBRE*DE*LA*BASE*DE*DATOS]
DECLARE @USERSID uniqueidentifier, @WINDOWSSID nvarchar(119), @USERNAME nvarchar(50), @USERSIDTXT varchar(50)

SELECT NEWID()
SET @USERNAME = ‘NOMBRE*DEL*SERVIDOR*SQL\Administrator’
SET @USERSID = NEWID()
SET @USERSIDTXT = CONVERT(VARCHAR(50), @USERSID)
SET @WINDOWSSID = ‘TU*WINDOWSSID’

INSERT INTO [dbo].[User]
([User Security ID],[User Name],[Full Name],[State],[Expiry Date], [Windows Security ID],[Change Password],[License Type],[Authentication Email],[Contact Email],[Exchange Identifier],[Application ID])
VALUES
(@USERSID,@USERNAME,»,0,’1753-01-01 00:00:00.000′,@WINDOWSSID,0,0,»,»,»,’00000000-0000-0000-0000-000000000000′)

INSERT INTO [dbo].[User Property]
([User Security ID],[Password],[Name Identifier],[Authentication Key], [WebServices Key],[WebServices Key Expiry Date],[Authentication Object ID],[Directory Role ID])
VALUES
(@USERSID,»,»,»,»,’1753-01-01 00:00:00.000′,»,»)

INSERT INTO [dbo].[Access Control]([User Security ID],[Role ID],[Company Name],[Scope],[App ID])
VALUES
(@USERSID,’SUPER’,»,’0′,’00000000-0000-0000-0000-000000000000′)
GO

También te podría gustar...