Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento descrive come impostare e modificare le regole di confronto del database in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL. Se non viene specificata alcuna regola di confronto, vengono utilizzate le regole di confronto del server.
Contenuto dell'articolo
Prima di iniziare:
Per impostare o modificare le regole di confronto del database utilizzando:
Prima di iniziare
Limitazioni e restrizioni
Windows regole di confronto solo Unicode possono essere usate con la COLLATE clausola per applicare regole di confronto ai tipi di dati ,
nvarcharentextancharlivello di colonna e a livello di espressione. Non possono essere utilizzati con la COLLATE clausola per modificare le regole di confronto di un database o di un'istanza del server.Se le regole di confronto specificate o le regole di confronto utilizzate dall'oggetto a cui si fa riferimento utilizzano una tabella codici non supportata da Windows, il motore di database visualizza un errore.
Consigli
È possibile trovare i nomi delle regole di confronto supportati in Nome regole di confronto di Windows (Transact-SQL) e nome delle regole di confronto di SQL Server (Transact-SQL); oppure è possibile usare la funzione di sistema sys.fn_helpcollations (Transact-SQL).
Quando si modificano le regole di confronto del database, vengono modificati i seguenti elementi:
Qualsiasi
char,varchar,text,nchar,nvarchar, ontextcolonne nelle tabelle di sistema viene modificata in base alle nuove regole di confronto.charTutti i parametri ,varchartextncharnvarcharontexte i valori scalari restituiti per le stored procedure e le funzioni definite dall'utente vengono modificati nelle nuove regole di confronto.I
chartipi di dati ,varchartextncharonvarchardi sistema e tutti i tipi di dati definiti dall'utente basati su questi tipi di dati di sistema vengono modificati in base alle nuove regole di confronto predefinite.ntext
È possibile modificare le regole di confronto di tutti i nuovi oggetti creati in un database utente usando la COLLATE clausola dell'istruzione ALTER DATABASE . Questa istruzione non modifica le regole di confronto delle colonne in alcuna tabella definita dall'utente esistente. Questi valori possono essere modificati usando la COLLATE clausola di ALTER TABLE.
Sicurezza
Autorizzazioni
CREATE DATABASE
È necessaria CREATE DATABASE l'autorizzazione nel database master oppure è necessaria l'autorizzazione CREATE ANY DATABASEo ALTER ANY DATABASE .
ALTER DATABASE
È richiesta l'autorizzazione ALTER per il database.
Uso di SQL Server Management Studio
Per impostare o modificare le regole di confronto del database
In Esplora oggetti, connettersi a un'istanza del motore di database di SQL Server, espanderla e quindi espandere Database.
Se si sta creando un nuovo database, fare clic con il pulsante destro del mouse su Database e quindi scegliere Nuovo database. Se non si desiderano le regole di confronto predefinite, fare clic sulla pagina Opzioni e selezionare le regole di confronto dall'elenco a discesa Regole di confronto.
In alternativa, se il database esiste già, fare clic con il pulsante destro del mouse sul database desiderato e scegliere Proprietà. Fare clic sulla pagina Opzioni e selezionare regole di confronto dall'elenco a discesa Regole di confronto.
Al termine, fare clic su OK.
Uso di Transact-SQL
Per impostare le regole di confronto del database
Connettersi al motore di database.
Nella barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio viene illustrato come usare la COLLATE clausola per specificare un nome delle regole di confronto. Nell'esempio viene creato il database
MyOptionsTestche usa leLatin1_General_100_CS_AS_SCregole di confronto. Dopo aver creato il database, eseguire l'istruzioneSELECTper verificare l'impostazione.
USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE Latin1_General_100_CS_AS_SC;
GO
--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO
Per modificare le regole di confronto del database
Connettersi al motore di database.
Nella barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio viene illustrato come usare la COLLATE clausola in un'istruzione ALTER DATABASE per modificare il nome delle regole di confronto. Eseguire l'istruzione
SELECTper verificare la modifica.
USE master;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS ;
GO
--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO
Vedere anche
Collazione e supporto Unicode
sys.fn_helpcollations (Transact-SQL)
sys.databases (Transact-SQL)
Nome delle regole di confronto di SQL Server (Transact-SQL)
Nome delle regole di confronto di Windows (Transact-SQL)
COLLATE (Transact-SQL)
Precedenza delle regole di confronto (Transact-SQL)
CREATE TABLE (Transact-SQL)
CREATE DATABASE(SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)