Corsi on-line

Le collation in SQL Server

  • CommentiScrivi un commento
  • ForumDiscuti sul forum
  • Prev
  • NextLe collation in SQL Server
    Pagina 2 di 3

Una Collation in SQL Server rappresenta un insieme di regole che determinano il modo in cui i dati vengono ordinati e comparati dal DBMS. I caratteri all’interno di un database vengono ordinati utilizzando regole che definiscono la loro corretta sequenza con opzioni per specificare, ad esempio, la differenziazione tra maiuscole e minuscole, tra i diversi accenti e tra le diverse dimensioni (in termini di byte).

Per capire meglio facciamo qualche esempio. Un computer tratta i caratteri B e b in modo diverso perch ad essi associato un valore ASCII differente (B=66 e b=98) e in questo caso si parla di notazione case-sensitive. Se invece B e b vengono considerati uguali si parla di notazione case-insensitive. Allo stesso modo se i caratteri a e vengono considerati diversi si parla di accent-sensitive, in caso contrario di accent-insensitive. Per quanto riguarda invece le dimensioni dei caratteri si parla di carattere a singolo byte (half-width) se esso viene memorizzato in un singolo byte e di carattere a byte doppio (full-width) se esso viene memorizzato in due byte. Se due caratteri di diversa dimensione vengono considerati diversi si parla di width-sensitive, in caso contrario di width-insensitive.

L'articolo continua dopo la pubblicità

Quando si installa per la prima volta SQL Server alcuni amministratori di database non molto esperti sono tentati di cliccare continuamente su Next nella procedura di installazione guidata fino al termine dell’installazione stessa. Invece in questo processo necessario prestare molta attenzione ed essere pienamente consapevoli delle scelte che vengono effettuate.

Spesso infatti si pensa che se si effettua qualche scelta sbagliata in fase di installazione sia sempre possibile tornare indietro e cambiare facilmente l’opzione in questione. Sfortunatamente per questo non possibile in tutti i casi e la collation una di quelle opzioni che, se non scelta con molta attenzione, richiede un costo significativo per essere corretta.

Correggere una collation sbagliata pu avere le seguenti conseguenze:

  • Rendere pi complicate le query che utilizzano tempdb, costringendoci ad aggiungere l’istruzione COLLATE nelle clausole WHERE e nei JOIN
  • Richiedere una nuova installazione della nostra istanza di SQL Server
  • In alcuni casi oltre a richiedere una nuova installazione dell’istanza potrebbe essere necessario ricreare le varie tabelle del database e reimportare tutti i dati in esse contenuti

Le operazioni di restore o di attach purtroppo non permettono di risolvere questa situazione.

Quando si crea un nuovo database tramite la procedura guidata di SQL Server la scelta della collation viene effettuata nella scheda Options della finestra New database

Corsi
Vedi anche...
Guide