Tipi di regole di confronto
In SQL Server 2005 sono disponibili due gruppi di regole di confronto, ovvero le regole di confronto di Windows e le regole di confronto SQL.
Regole di confronto di Windows
Le regole di confronto di Windows sono regole definite per il supporto delle impostazioni internazionali di Windows in SQL Server. Per un elenco di queste regole di confronto, vedere Impostazioni delle regole di confronto durante l'installazione. Se si specificano regole di confronto di Windows per SQL Server, l'istanza di SQL Server utilizza le stesse tabelle codici e gli stessi criteri di ordinamento e di comparazione di un'applicazione in esecuzione in un computer per il quale sono state specificate le impostazioni internazionali di Windows associate. Le regole di confronto Francese di Windows per SQL Server, ad esempio, corrispondono agli attributi delle regole di confronto delle impostazioni internazionali Francese per Windows.
Le impostazioni internazionali di Windows sono più numerose delle regole di confronto di Windows per SQL Server. I nomi delle impostazioni internazionali di Windows si basano sulla lingua e il paese, ad esempio Francese (Canada). Tuttavia, molte lingue hanno alfabeto e regole di ordinamento e di confronto dei caratteri comuni. Ad esempio, 33 impostazioni internazionali di Windows, incluse tutte le impostazioni internazionali di Windows Portoghese e Inglese, utilizzano la tabella codici Latino 1 (1252) e si basano su un set comune di regole per l'ordinamento e il confronto dei caratteri. Le regole di confronto di Windows per SQL Server basate sulla tabella codici e le regole di ordinamento Latin1_General supportano tutte le 33 impostazioni internazionali di Windows.
Le impostazioni internazionali di Windows specificano inoltre attributi non inclusi nelle regole di confronto di Windows per SQL Server, ad esempio i formati di valuta, data e ora. Poiché alcuni paesi, come il Regno Unito e gli Stati Uniti, utilizzano formati di valuta, data e ora diversi, richiedono regole di confronto di Windows diverse. Non sono tuttavia necessarie regole di confronto SQL diverse, poiché l'alfabeto e i criteri di ordinamento e di confronto dei caratteri sono uguali.
In SQL Server le regole di confronto di Windows sono combinate con una serie di suffissi per definire ulteriormente i criteri di ordinamento e di confronto in base alla distinzione tra maiuscole e minuscole, caratteri accentati e non accentati, caratteri Kana e larghezza. Per ulteriori informazioni su tali suffissi, vedere Stili di ordinamento delle regole di confronto di Windows.
Regole di confronto SQL
Le regole di confronto SQL sono un'opzione di compatibilità per stabilire una corrispondenza con le combinazioni comuni tra numero di tabella codici e tipi di ordinamento specificate nelle versioni precedenti di SQL Server. Molte di queste regole di confronto supportano, ma non sempre, suffissi per la distinzione tra maiuscole e minuscole, caratteri accentati e non accentati, caratteri Kana e larghezza. Per ulteriori informazioni, vedere Utilizzo delle regole di confronto SQL.
In SQL Server 2005 è consigliabile utilizzare principalmente le regole di confronto di Windows. Si tratta di un'opzione particolarmente efficace se nel database è presente una combinazione di colonne Unicode e non Unicode. Tramite le regole di confronto di Windows vengono applicati criteri di ordinamento basati su Unicode sia ai dati Unicode, sia ai dati non Unicode. Ciò significa che in SQL Server i dati non Unicode vengono convertiti internamente in dati Unicode per l'esecuzione di operazioni di confronto. In questo modo, viene garantita la consistenza tra i tipi di dati in SQL Server e gli sviluppatori possono ordinare le stringhe all'interno delle applicazioni che utilizzano le stesse regole utilizzate da SQL Server.
Tramite le regole di confronto SQL, d'altro canto, vengono applicati criteri di ordinamento non Unicode ai dati non Unicode e criteri di ordinamento Unicode ai dati Unicode, utilizzando regole di confronto di Windows corrispondenti per i dati Unicode. Questa differenza può provocare risultati inconsistenti nei confronti degli stessi caratteri. Se, pertanto, nel database è presente una combinazione di colonne Unicode e non Unicode, tali colonne devono essere definite tramite le regole di confronto di Windows, affinché vengano utilizzati gli stessi criteri di ordinamento per i dati Unicode e non Unicode.
È consigliabile utilizzare le regole di confronto SQL solo per mantenere la compatibilità con istanze esistenti di versioni precedenti di SQL Server o per mantenere la compatibilità in applicazioni sviluppate utilizzando regole di confronto SQL in versioni precedenti di SQL Server.
Le regole di confronto SQL e di Windows possono comportare differenze nelle prestazioni. Per ulteriori informazioni, vedere Archiviazione di dati Unicode ed effetti sulle prestazioni.
Vedere anche
Concetti
Utilizzo delle regole di confronto