Durante l'installazione di SQL Server Express 2005 SP2 selezionare le
seguenti opzioni:
Deselezionare il checkbox Nascondi opzioni di configurazione
avanzate.
Installare SQL Server Express sull’istanza predefinita (anziché
sull’istanza denominata SQLExpress per una più semplice gestione della
Windows Authentication).
Impostare Servizio di rete come account con cui verrà eseguito il
servizio SQL Server.
Nel caso si desideri mettere in sicurezza l'istanza di SQL Server sarebbe
consigliabile utilizzare un account locale (o di dominio se è necessario che
il servizio acceda ad Active Directory ) con diritti minimi (non
appartenente ad alcun gruppo). L'utilizzo dell'account di Servizio di rete
(se è necessario che il servizio acceda alle risorse di rete) o dell'account
di Servizio locale potrebbe concedere al servizio privilegi superiori a
quelli necessari.
Avviare il servizio SQL Browser.
Disabilitare le User Instance.
Terminata l’installazione abilitare il protocollo TCP/IP
tramite la seguente procedura:
Aprire SQL Server Configuration Manager.
Selezionare Configurazione di rete SQL Server 2005.
Selezionare Protocolli per MSSQLSERVER.
Abilitare il protocollo TCP/IP.
Riavviare il servizio SQL Server.
Se sul PC è attivo un firewall per consentire l’accesso a SQL Server
occorre configurarlo per accettare connessioni
sulla porta TCP 1433, mentre per consentire l’accesso al
servizio SQL Server Browser (che si occupa di notificare la presenza del
server sulla rete) occorre configurarlo per
accettare connessioni sulla porta UDP 1434.
Per ulteriori informazioni si vedano i seguenti link:
L'utilizzo della Windows Autentications da parte del client di Navision
avviene tramite una Extended Procedure in particolare i client 4.0 e successivi
utilizzano la xp_ndo_enumusergroups, mentre i client 3.70 e precedenti
utilizzano la xp_ndo_enumusersids.
Se SQL Server è configurato per utilizzare l'istanza predefinita (MSSQLSERVER)
il programma d’installazione del client di Navision copia la xp_ndo.dll contenente le Extended
procedure xp_ndo_enumusergroups e xp_ndo_enumusersids nella cartella
C:\Programmi\Microsoft Dynamics NAV\CSIDE Client e
installa le Extended
procedure.
Se non si utilizza l'istanza predefinita (MSSQLSERVER) occorre installare le Extended procedure manualmente
tramite la seguente procedura:
Eseguire il file DVD_Drive:\Sql_esp\ xp_ndo.exe sul DVD d’installazione per scompattare il file xp_ndo.dll nella directory
BINN dell’istanza di SQL
Server (Esempio: C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Binn).
In questo modo la prima volta che Navision si connetterà all’istanza
aggiungerà le Extended procedure automaticamente, se invece ci si è già
connessi occorrerà farlo manualmente seguendo i passi successivi.
Aprire SQL Server Management Studio Express.
Selezionare Database / Database di sistema / master /
Programmabilità / Stored procedure estese.
Selezionare tramite il menu contestuale Nuova Stored procedure
estesa.
Selezionare il file xp_ndo.dll.
Assegnare il nome xp_ndo_enumusergroups.
Concedere al ruolo Public il diritto di esecuzione.
Nel caso sia necessaria anche la xp_ndo_enumusersids aggiungere
in modo analogo la relariva Stored procedure estesa.
Per poter accedere a SQ Server 2005 tramite il client di Navision occorre
impostare il trace flag 4616. Se SQL Server è configurato per utilizzare
l'istanza predefinita (MSSQLSERVER) il programma d’installazione del client di
Navision imposta automaticamente il trace flag, ma occorre riavviare il servizio
di SQL Server affinchè l'impostazione abbia effetto.
Se non si utilizza l'istanza predefinita (MSSQLSERVER) occorre impostare il
trace flag manualmente
tramite la seguente procedura:
Aprire SQL Server Configuration Manager.
Selezionare Servizi di SQL Server 2005.
Selezionare SQL Server (NomeInstanza).
Selezionare Azione / Proprietà.
Selezionare il Tab Avanzate.
Selezionare la voce Parametri di avvio.
Aggiungere al fondo la stringa ;-T4616.
Riavviare il servizio SQL Server.
Il trace flag 4616 consente la visibilità dei metadati a livello di server
per i ruoli applicazione. In SQL Server 2005, poiché i ruoli applicazione non
sono associati a un'entità a livello di server, un ruolo applicazione non può
accedere a metadati all'esterno del database corrispondente, diversamente da
quanto consentito nelle versioni precedenti di SQL Server. Impostando questo
flag globale vengono disattivate le nuove restrizioni e viene consentito ai
ruoli applicazione di accedere ai metadati a livello di server. Per maggiori
informazioni si veda
Flag di traccia (Transact-SQL).
Per creare o gestire un database occorre
essere membro dei ruoli server sysadmin o dbcreator, inoltre per
creare un database si deve avere accesso al database model, mentre per gestire
un database occorre essere membri del ruolo database db_ddladmin o db_owner.
Per creare un nuovo database utilizzare la
seguente procedura:
Aprire il client Opzione Microsoft SQL Server per CSIDE Client sul
computer server.
Selezionare File / Database / Nuovo.
Nella dialog Seleziona Server configurare l'istanza di SQL Server
a cui connettersi e l'autenticazione da utilizzare e selezionare OK.
Tramite il Tab Avanzate è possibile selezionare il tipo di rete Named Pipes,
TCP/IP Sockets, Multiprotocol o Default che consente di collegarsi
utilizzando le impostazioni specificate tramite Gestione configurazione
SQL Server nel nodo Configurazione SQL Native Client / Protocolli
client.
Nella finestra Nuovo database selezionare il Tab Generale
digitare il nome del database in Nome database.
Per default i file del database verranno configurati in modo da
consentire il restore del database standard senza causare la crescita dei
file di dati o di log e la separazione delle tabelle di sistema da quelle di
dati in quanto viene creato un file group impostato come default a cui il
file secondario viene assegnato):
Un file di dati primario .mdf nel file group PRIMARY la cui
grandezza sarà impostata a 40 MB o al size del file primario del
database model se quest'ultimo è maggiore.
Un file di dati secondario .ndf in un file group separato la cui
grandezza sarà impostata a 160 MB.
Un file di per il log delle transazioni la cui grandezza sarà
impostata al 50% della somma delle grandezza del file di dati primario e
dei file di dati secondari (per default 100 MB).
Nel Tab Confronto è possibile specificare la Collation per il
database, anche se SQL Server 2005 consente di specificare la collation sia
a livello di database che di colonna il client Opzione Microsoft SQL Server
per CSIDE Client consente di specificare la collation solo a livello di
database.
Nel Tab Opzioni è possibile specificare impostazioni avanzate per
il database che possono poi essere modificate successivamente.
Nel Tab Integrazione è possibile specificare le impostazioni che
configurano il modo in cui Dynamics NAV si integra con SQL Server, queste
impostazioni possono poi essere modificate successivamente.
Nel Tab Avanzate è possibile specificare le impostazioni per
controllare la sicurezza ed il locking.
Dopo la creazione il database non è ancora pronto per essere utilizzato in
Dynamicis NAV, occorre prima eseguire il restore del database standard (database.fbk).
Questo backup viene copiato durante l'installazione del client, se è stata
selezionata l'opzione Backup del database demo, nella directory %ProgramFiles%\Microsoft Dynamics NAV\CSIDE Client. Il backup contiene
contiene i Dati comuni a tutte le società (Data Common to All Companies
che includono report list e le permission groups del programma) e gli Oggetti
applicazione (Application Objects). Per eseguire il restore del database
standard utilizzare la seguente procedura:
Aprire il client Opzione Microsoft SQL Server per CSIDE Client sul
computer server.
Selezionare Strumenti / Ripristino.
Selezionare il file %ProgramFiles%\Microsoft Dynamics NAV\CSIDE Client\database.fbk.
Selezionare Backup completo. (in alternativa è possibile
selezionare Personalizzato per evitare, se desiderato di ripristinare la
società demo CRONUS, ma solamente i Dati comuni a tutte le società e gli
Oggetti applicazione).
Selezionare OK.
Terminato il restore confermare il messaggio che è necessario
sincronizzare il sistema di protezione.
Selezionare Strumenti / Protezione / Sincronizza tutti i login
per sincronizzare il sistema di protezione.
Confermare la richiesta di conferma di sincronizzazione.
L'installazione di default comprende la licenza dimostrativa cronus.flf
che consente l'accesso alla società demo con le seguenti limitazioni:
E' possibile eseguire registrazioni solo nel periodo da Novembre a
Febbraio.
Il massimo numero di società e 2.
E' possibile avere un massimo di 2 sessioni in esecuzione contemporanea.
Il nome delle società devono iniziare con CRONUS (in lettere maiuscole).
Sarà possibile utilizzare anche la società demo anche la propria licenza e in
questo caso le limitazioni saranno quelle imposte dalla propria licenza.
Il file di licenza è fin.flf e per operare con il client per Opzione
SQL Server di Dynamics NAV occorre caricarla sull'istanza di SQL Server
utilizzata anziché copiarla sui client, in questo modo i client utilizzeranno la
stessa licenza quando si connetteranno. Per default la licenza demo è caricata
sull'istanza di SQL Server quando ci si connette per la prima volta (le licenze
vengono memorizzate nella tabella $ndo$srvproperty del database master).
L'Opzione SQL Server di Dynamics NAV consente di specificare se la licenza è
la stessa per ogni database nell'istanza di SQL Server oppure se ogni database
ha la propria licenza, è possibile specificare che il database utilizzerà una
licenza propria tramite l'opzione del database Salva licenza nel database.
Per attivare questa opzione occorre che la licenza contenga il granulo 2020
Per Database license, in questo caso il database utilizzerà i granuli
(incluse le sessioni) specificate nel file di licenza per-database.
Oltre ai file di licenza per-database memorizzati sui sigoli database è
possibile anche caricare un file comune di licenza sull'istanza di SQL Server
che può essere identico ad un file di licenza caricato su un database o diverso
e che verrà utilizzato per i database che non contengono un file di licenza per
database.
Per caricare o aggiornare il file di licenza utilizzare la seguente procedura:
Aprire il client Opzione Microsoft SQL Server per CSIDE Client sul
computer server.
Selezionare Strumenti / Impostazione Licenza.
Selezionare Carica per caricare sul server il file di licenza
fin.flf.
Riavviare il Client affinché utilizzi la licenza caricata.
La licenza caricata sull'istanza di SQL Server o nel database non verrà
utilizzata dal client nelle seguenti situazioni:
Nel caso sul client sia stata imposta una licenza temporanea tramite
Cambia.
Nel caso che sul client utilizzi una file di licenza locale caricato tramite
Importa che copia il file di licenza nella directory di Dynamics NAV del
computer %ProgramFiles%\Microsoft Dynamics NAV\CSIDE Client.
E' possibile verificare che la propria licenza sia valida tramite la
seguente procedura:
Aprire il client Opzione Microsoft SQL Server per CSIDE Client.
Selezionare ? / Informazioni su Microsoft Dynamics NAV.
Selezionare Verificare le informazioni sulla licenza.
In Dynamics NAV è possibile tre livelli di sicurezza:
Livello minimo (database level security): assegnazione ad ogni
utente di un ID e una password per accedere ai dati.
Livello medio (tables level security): assegnazione di diritti di
accesso sulle tabelle diversi per utente.
Livello alto (record level security): assegnazione di diritti di
accesso sui record delle tabelle diversi per utente.
Dynamics NAV si integra con la gestione della sicurezza in SQL Server e in
Windows consentendo di utilizzare il sistema unificato di login di Windows,
inoltre se il dominio è Windows Server 2003 è possibile utilizzare Active
Directory e il sistema di single sign-on. In Dynamics NAV è presente un
meccanismo di sincronizzazione che fa in modo che le informazioni di sicurezza
siano corrispondenti con quelle contenute nel sistema di sicurezza di SQL
Server.
Quando si crea un database è possibile specificare il livello di sicurezza
che si intende implementare in ciascun database ed è possibile avere due modelli
di sicurezza che differiscono nel modo in cui viene eseguita la sincronizzazione
tra in sistema di sicurezza in Dynamics NAV e quello di SQL Server e nel modo in
cui viene integrato il sistema di sicurezza di Dynamics NAV con l'autenticazione
Windows:
Avanzata è il modello di default ed ha le seguenti
caratteristiche:
La sincronizzazione del sistema di sicurezza può essere lenta se si
hanno più società e molti utenti nello stesso database.
Vengono visualizzati solo i gruppi Windows del dominio locale.
I logins in Dynamics NAV possono essere definiti per i gruppi Windows e
per i membri del gruppo o per singolo utente Windows.
La granularità della sincronizzazione è è a livello dell'intero sistema
di sicurezza o del singolo utente Windows.
La sincronizzazione non è automatica quando si inseriscono, modificano o
cancellano login Windows o database login in Dynamics NAV.
Utilizza la stored procedure xp_ndo_enumusergroups.
Standard ha le seguenti caratteristiche:
La sincronizzazione del sistema di sicurezza è rapida.
Vengono visualizzati i gruppi Windows del dominio locale e quelli
nella foresta di domini.
I logins in Dynamics NAV possono essere definiti per i gruppi
Windows o per singolo utente Windows.
La granularità della sincronizzazione è è a livello dell'intero
sistema di sicurezza.
La sincronizzazione è automatica quando si inseriscono, modificano o
cancellano login Windows o database login in Dynamics NAV. La
sincronizzazione non è automatica quando si inseriscono, modificano o
cancellano ruoli in Dynamics NAV.
Utilizza la stored procedure xp_ndo_enumusersids.
Il modello di sicurezza Standard può essere utile quando si hanno più società
nello stesso database ed è necessario aggiornare il sistema di sicurezza con
regolarità.
Se si utilizza il modello di sicurezza Avanzata e si intende gestire i
Windows Loogin in Dynamics NAV utilizzando gruppi di Windows occorrerà
aggiungere anche i Windows Login per gli utenti membri del gruppo, tuttavia
i ruoli dovranno essere definiti solo sul gruppo, a meno che non si intenda dare
all'utente permessi aggiuntivi.
Quando di modificano i permessi di ruoli o utenti in Dynamics NAV assicurasi
che nessuno degli utenti coinvolti sia connesso, analogamente quando si esegue
la sincronizzazione dell'intero sistema di sicurezza assicurarsi di essere
il solo utente conesso. Il sistema di sicurezza in Dynamics NAV deve essere sincronizzato manualmente
con SQL Server ogni volta che:
Viene modificato il modello di sicurezza.
Vengono modificati utenti, permessi o ruoli in Dynamics Nav.
Viene eseguito un restore.
Viene convertito un database.
Viene modificato un oggetto nel database o ne vengono modificati
permessi.
Vengono aggiornati i file eseguibili.
Viene aggiornata l'applicazione
Il modello di sicurezza è impostabile tramite l'opzione del database
Modello e per poterla modificare occorre essere un membro del ruolo server
sysadmin o un membro del ruolo database db_owner per il database
in oggetto e essere membro del ruolo SUPER in Dynamics NAV.
La gestione della sicurezza nell'Opzione SQL Server di Dynamics NAV coinvolge
il sistema di sicurezza SQL Server, Active Directory e il sistema di sicurezza
Dynamics NAV e si basa su due concetti:
L'Autenticazione ovvero il processo che valida l'identità
dell'utente, Dynamics NAV supporta due tipi di autenticazione:
l'autenticazione Windows e l'autenticazione database server basata
sull'autenticazione SQL Server.
Il Login che concede all'utente i permessi assegnati dopo essere
stato identificato dal sistema. L'autenticazione Windows richiede l'utilizzo
di account Windows, l'autenticazione database server richiede SQL Server
login.
Se possibile utilizzare l'autenticazione Windows che garantisce single
sign-on, una validazione sicura e crittografia della password, la possibilità di
impostare complessità e scadenza della password e blocco dell'account dopo
errata digitazione della password.
I superuser sarà un utente che avrà i permessi di eseguire qualunque
operazione, per poter definire un superuser occorre connettersi all'Opzione SQL
Server di Dynamics NAV tramite un utente che abbia il permessi necessari in SQL
Server, poichè l'installazione di SQL Server 2005 per default crea un Account di
accesso per
i BUILTIN\Administrators membro del Ruolo server sysadmin il modo più pratico per effettuare iniziare a
configurare la sicurezza è quello di connettersi al computer su cui è installato
SQL Server con Amministratore del dominio che è membro di BUILTIN\Administrators
ed ha accesso ad Active Directory.
L'utente superuser richiede i seguenti ruoli:
Ruoli Navision:
SUPER
Ruoli SQL Server:
Per consentire la gestione degli utenti e la sincronizzazione:
Ruolo Server sysadmin oppure Ruolo Server securityadmin e
Ruolo Database db_owner.
Per consentire la creazione di un database:
Ruolo Server dbcreator o sysadmin.
Per consentire la modifica di un database:
Ruolo Server dbcreator o sysadmin oppure Ruolo Database
db_ddladmin o db_owner.
Per consentire la creazione tabelle:
Ruolo Server sysadmin oppure Ruolo Database db_owner.
Conviene quindi assegnare: il Ruolo Server sysadmin oppure i Ruoli
Server securityadmin e dbcreator e il Ruolo Database db_owner.
Per creare un superuser utilizzare la
seguente procedura:
Creare in SQL Server gli Account di accesso ed aggiungerli al ruolo
server sysadmin.
Aprire il client Opzione Microsoft SQL Server per CSIDE Client sul
computer server.
Digitare l'utente o il gruppo nel formato NomeComputerONomeDominio\NomeUtenteONomeGruppo nella colonna ID.
Selezionare l'id e selezionare Ruoli.
Digitare SUPER nella colonna Role ID.
Eventualmente è possibile selezionare su quale società impostare tale
ruolo tramite la colonna Company Name.
Chiudere la finestra della gestione tabellare dei ruoli.
Chiudere la finestra della gestione tabellare degli utenti.
Selezionare Strumenti / Protezione / Sincronizza Tutti i Login
per creare il mapping utente, lo schema
e ruolo d'applicazione sul database in SQL Server.
Dopo aver configurato l'utente superuser tramite esso sarà possibile
configurare gli altri utenti con i ruoli opportuni nell'Opzione SQL Server di Dynamics NAV
tramite la seguente procedura:
Aprire il client Opzione Microsoft SQL Server per CSIDE Client sul
computer server con un account windows che sia superuser in Dynamics NAV e
che sia membro del dominio se si desidera creare utenti utilizzando account
Windows del dominio.
Digitare l'utente o il gruppo nel formato NomeComputerONomeDominio\NomeUtenteONomeGruppo nella colonna ID.
Selezionare l'id e selezionare Ruoli.
Impostare i ruoli neccessari alla tipologia di utente.
Eventualmente è possibile selezionare su quale società impostare tale
ruolo tramite la colonna Company Name.
Chiudere la finestra della gestione tabellare dei ruoli.
Chiudere la finestra della gestione tabellare degli utenti.
Selezionare Strumenti / Protezione / Sincronizza Tutti i Login
per creare gli Account utenti su SQL Server e il mapping utente, lo schema
e ruolo d'applicazione sul database.
Se l'utente richiede l'appartenenza a ruoli in SQL Server diversi dal
Ruolo Database Public occorrerà impostarli tramite la SQL Server Management
Studio dopo la sincronizzazione che provvederà, se necessario a creare gli
Account utente mancanti in SQL Server.
Di seguito sono riportare le principali tipologie di utenti con i necessari
ruoli in Dynamics NAV e SQL Server:
Amministratore dati
Ruoli Navision:
TUTTI (ALL nella versione inglese di Navision).
PRINCIPALE (DATI) (SUPER (DATA) nella versione inglese di
Navision).
Ruoli SQL Server:
Ruolo Database Public assegnato per default dalla
sincronizzazione in Dynamic NAV.
Amministratore della sicurezza
Ruoli Navision:
TUTTI (ALL nella versione inglese di Navision).
PROTEZIONE (SECURITY nella versione inglese di Navision).
Ruoli SQL Server:
Ruolo Server securityadmin.
Ruolo Database Public assegnato per default dalla
sincronizzazione in Dynamic NAV.
Utente
Ruoli Navision:
TUTTI (ALL nella versione inglese di Navision).
I Ruoli necessari all’accesso delle aree di competenza.
Ruoli SQL Server:
Ruolo Database Public assegnato per default dalla
sincronizzazione in Dynamic NAV.
Ogni utente che non appartiene al Ruolo SUPER deve appartenere al Ruolo TUTTI (ALL nella versione inglese di Navision).
Ogni utente può concedere ad altri utenti sono le permission che possiede a
patto di appartenere al Ruolo PROTEZIONE (SECURITY nella versione
inglese di Navision) o SUPER.
Se si utilizza la Windows Authentication per evitare problemi di accesso
conviene creare un Login Server per un utente SUPER e abilitarlo solo in
condizione di emergenza per evitare falle di sicurezza.
Va comunque precisato che dopo aver eseguito un Restore del database di Navision
ci si ritrova connessi come utente SUPER ed quindi possibile intervenire sulla security del sistema, quindi questo utente va utilizzato solo nel caso in cui la
Windows Athentication non sia più disponibile (cambio del dominio, modifica del
SID dei gruppi / utenti utilizzati in Navison, corruzione dell’Active Directory
senza possibilità di un ripristino, etc..).
Lo spostamento di una società su un database diverso può essere fatto
eseguendo il backup della società dal dabase sorgente e il restore della stessa
sul database destinazione.
Per migrare il database dal DBMS di Dynamics NAV a SQL Server eseguire il
backup del database in Dynamics NAV ed eseguire il restore in Opzione SQL Server
di Dynamics NAV.