RS First Dynamics NAV Blog


...from NAV 3.60 to NAV 2013
Archivio Posts
Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Creazione nuovo db Navision su SQL Server

Dopo alcuni test effettuati ho verificato che il sistema funziona in questo modo (dalla versione 5 alla 2009 ma credo valga anche le versioni precedenti)

 

Funzionamento indici NAV->SQL (se gestito flag Mantain sql index)

-se viene aggiunto un nuovo indice (da nav) -> lo crea su sql

-se viene rimosso un indice (da nav) -> lo cancella anche da sql

(rimosso significa: chiave disabilitata enabled false oppure mantain sql index disabilitato)

-se lancio ottimizza tabelle nav -> NON sistema gli indici e non li ricrea, ricrea solo l’indice cluster $0

  

ANOMALIE in lettura\scrittura e blocchi in registrazioni

Ipotizzando che i problemi esistenti siano relativi al fatto che su sql ci sono indici diversi in struttura o  numero rispetto a quelli definiti su Navision:

 

2 soluzioni:

1° ricostruire gli indici SQL persi da NAV  

-Farsi dare elenco tabelle di cui ricostruire gli indici

-mettere il db in single user

-Togliere le relazioni dal db

-Aprire le tabelle interessate una per volta

-Disabilitare flag Maintain SQL Index (tranne chiave primaria indice cluster)

-Salvare tabella

-Verificare che su console SQL l’indice sia stato rimosso

-Riaprire tabella, riabilitare opzione Maintain SQL Index per tutti gli indici

-Salvare tabella

-Verificare che su console SQL l’indice sia stato creato

 

SE PROCEDURA ANDASSE IN ERRORE (dipende dalla versione NAV usata, es: su 5.0 nessun problema, su 2009 si)

Ø  è possibile segnare gli indici attivi (enabled)

Ø  disabilitarli, salvare la tabella, verificare che sql siano stati rimossi

Ø  riabilitare gli indici ->verificare che sql siano stati ricreati

Ø  rimuovere eventuali CONSTRAINTS rimaste appese e non eiliminate su sql

 

 

2° ricreare il database su SQL partendo da un backup NAV

-Eseguire un backup NAV (non devono esistere tabelle virtuali collegate a viste altrimenti va in errore restore)

-Creare da NAV nuovo database SQL

-Eseguire restore database da NAV su SQL à ricrea esattamente gli indici cosi come definiti in dizionario NAV attuale

 

Considerazioni

La seconda soluzione è la più pulita della due ma entrambe potrebbero NON risolvere il problema per tre motivi:

1.    la struttura originale di Nav potrebbe essere stata modificata su Nav e quindi su sql verrebbe replicata identica portandosi dietro le anomalie

2.    il database originale è stato creato prendendo il database nav e non quello sql (che potrebbe avere abilitato e configurato volontariamente indici diversi nel campo “Define SQL Index”)

3.    i SIFT index Nav sono stati modificati su NAV per SQL (in versione precedenti a 5.1 potevano causare blocchi in registrazioni)

 

NB: ESEGUIRE SEMPRE LE COPIE DI BACKUP (fare sempre le copie prima di iniziare qualsiasi attività)

1.       fare 1 Backup db NAV da NAV

2.       fare 1 Backup db SQL da SQL

3.       eseguire un test di ripristino per entrambi i backup

4.       verificare di avere la licenza runtime customer (esportarla eventualmente dal server)

5.       SQL non va reinstallato ma fare comunque i backup Master (contiene la licenza customer), Model, MSDB

 

Categoria: Dynamics NAV ALL
martedì, 29 dic 2009 Ore. 14.33
Statistiche
  • Views Home Page: 468.794
  • Views Posts: 885.585
  • Views Gallerie: 0
  • n° Posts: 343
  • n° Commenti: 0
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003