Vediamo come è semplice importare su server locale un database Gea.Net hostato presso Aruba.
Innanzitutto bisogna premettere che allo stato attuale Aruba utilizza la versione 2008 R2 e che se si scarica il backup (.bak) non è così scontato riuscire ad importarlo. Sicuramente non ci sono problemi se sul proprio server si è installato la stessa versione altrimenti potremmo andare incontro a diversi grattacapi.
La buona notizia è che MS Sql Server 2014 lo digerisce senza alcun problema quindi pianificare un upgrade potrebbe fare risparmiare un bel po’ di tempo.
Cambiare l’owner
Se si importa un database Sql Server da un backup fatto da database Gea.Net hostato presso Aruba si noterà le tabelle hanno un owner diverso dal classico dbo.
Per poterlo utilizzare con Gea.Net occorre riportare tutte le tabelle sotto lo stesso proprietario dbo. Il comando TSQL per fare questo è l’ALTER SCHEMA, che però andrebbe scritto per ogni tabella nel database. Per evitare questo possiamo farci aiutare dal comando SQL.
SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.'
+ o.Name FROM sys.objects o INNER JOIN sys.Schemas s on o.schema_id = s.schema_id WHERE s.Name = 'NomeDatabase'
Sostituendo NomeDatabase con il nome del database su cui volete cambiare l’owner (nell’esempio MSSql89604). Questa query non esegue l’azione di modificare l’owner, bensì generara l’sql da eseguire per effettuare la modifica.
Ora è sufficiente copiare il blocco delle righe con ctrl-c , aprire una nuova query, incollarle ed eseguire l’elenco degli ALTER SCHEMA generati.
Creare la ConnectionString
Se avete verificato che Management Studio permette di operare correttamente possiamo passare a collegare Gea.Net al database locale cambiando la ConnectionString. Qui potrebbero esserci alcune differenze ma in linea di massima la stringa dovrebbe essere simile alla seguente.
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=MSSql89604;Data Source=LAPTOP-NN5BRMT1\SQLEXPRESS;Initial File Name="";Current Language=English;
Lascio volutamente la connectionString usata da me nell’esempio, che dovrà essere modificata almeno nella parte evidenziata, perché dall’immagine precedente potete verificare dove ricavare da Management Studio i dati corretti .
Ricordate l’opzione Current Language senza la quale le date sarebbero inviate in formato italiano (AAAA-MM-GG) e non processate correttamente. Per incorrete in questo errore noterete che le tabelle più semplici composte solo da pochi campi alfanumerici verranno modificate mentre riceverete un errore modificando ad esempio una anagrafica cliente o un articolo