Soluzioni tecniche

MS SQL Server: impostare o cambiare le regole di confronto dell’istanza

25 Novembre 2014
In caso di migrazione di un database SQL Server è possibile trovarsi di fronte a un conflitto di collation (o regole di confronto).



Cosa sono le regole di confronto?
 
La collation definisce le regole con cui le stringhe testuali sono confrontate e ordinate:
  • ordine delle lettere;
  • ordine dei caratteri speciali;
  • se le lettere maiuscole e minuscole devono essere considerate diverse;
  • se i segni diacritici valgono o meno nel raffronto di stringhe.
Le regole di confronto del server sono quelle impostate di default in tutti i database di sistema installati con l’instanza di SQL Server e anche nei nuovi database creati dall’utente e devono essere specificate durante l’installazione del server.

Cambiare le regole di confronto

Per modificare le regole di confronto, dopo aver fatto il drop dei database utente, dobbiamo ricostruire il master database attraverso il seguente comando:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=< nomeIstanza >
/SQLSYSADMINACCOUNTS=< accountAmministrativo > /[ SAPWD= < password > ] 
/SQLCOLLATION=< nuovaCollation >

Ad esempio, per cambiare la collation di un’istanza MSSQLSERVER a quella italiana, usando l’utente ‘sa’ con password SQLsrv14, dovremo eseguire:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER
/SQLSYSADMINACCOUNTS=sa /SAPWD=SQLsrv14 
/SQLCOLLATION=Latin1_General_CI_AS

ossia collation generale per alfabeti neolatini (Latin1), che non consideri le maiuscole (CI, ossia Case Insensitive), ma consideri gli accenti (AS, ossia Accent Sensitive)
 
A questo punto è possibile importare i backup o i database utente precedentemente salvati con la nuova collation.
Autore
Furio Borsi
Si appassiona al mondo digitale fin da bambino, con il glorioso Commodore 64, sul quale si diverte a scrivere semplici programmi in Basic e modificare giochi. Nel 1990 riceve in regalo il suo primo PC (i386), seguito un paio d'anni dopo da un i486dx. In questi anni affina le sue attitudini al problem solving, scassando hardware e software e divertendosi a rimetterlo a posto. ;) Diventa così "quello che se ne capisce" per i suoi familiari e amici, arrivando a collaborare con alcuni studi professionali per la gestione del parco macchine e dei server Windows. Finito il liceo, studia DAMS con indirizzo multimediale a Bologna e Imperia. Nel 2002, dopo un anno sabbatico a Londra, lavora come sviluppatore junior in un'azienda che produce software per database territoriali in ambito Pubblica Amministrazione. In questo periodo si avvicina con passione a problematiche sistemistiche e di network management su reti estese. Nel 2007 entra a far parte dello staff di Achab, per cui si occupa di formazione e supporto, in particolare riguardo a Kaseya, e gestione del parco macchine e della rete.
Commenti (0)

Lascia un commento

Il tuo indirizzo e-mail non verrà pubblicato, lo utilizzeremo solamente per inviarti la notifica della pubblicazione del tuo commento. Ti informiamo che tutti i commenti sono soggetti a moderazione da parte del nostro staff.