Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

cambiare collate istanza database

918 views
Skip to first unread message

Alen Cappelletti

unread,
Mar 2, 2010, 6:33:59 PM3/2/10
to
Ciao ragazzi,
come faccio per cambiare il "collate" che di default c'è visualizzando
con il tasto destro sulle proprietà dell'istanza di SQL...deve
reinstalalre dal CD?

Devo fare una migrazione da sql 2000 a 2005 ed ho restorato dei DB per
fare dei test. Volevo portare il RECOVERY MODE a SIMPLE...per segare i
log e mi esce questo errore:

Impossibile risolvere il conflitto tra le regole di confronto
"Latin1_General_CI_AS" e "SQL_Latin1_General_CP1_CI_AS"
nell'operazione equal to. (.Net SqlClient Data Provider)

Ho visto che il DB restorato e l'istanza hanno dei collate
differenti...
Il DB da 2000 arriva da un'istanza in inglese mentr il mio nuovo è in
Italiano.

Giusto per non cadere dalle nuvole al dunque, se io imposto default
language in INGLESE su quella futura anche se il software è in
Italiano...non dovrei avere sorprese vero?

Da SQL 2000 > sistema operativo inglese e SQL SERVER inglese
A SQL 2005 > sys operativo italiano e SQL SERVER italiano

Vorrei pareggiare al max. Imposto default language settings in
INGLESE, basta questo o devo fare altro....poi per il collate che fo?
Da cd? mi sembra che si impostatva da li ricordo...
GRAZIE, ALen

______
Per quelli nuovi ho trovato...(vedi sotto)

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

lfrance

unread,
Mar 3, 2010, 6:15:02 AM3/3/10
to
Se ho capito bene tu vuoi modificare la COLLATE del server: in questo caso mi
sembra proprio che tu debba reinstallare da CD.

"Alen Cappelletti" ha scritto:

> .
>

Luca Bianchi

unread,
Mar 3, 2010, 6:55:36 AM3/3/10
to
> come faccio per cambiare il "collate" che di default c'� visualizzando
> con il tasto destro sulle propriet� dell'istanza di SQL...deve
> reinstalalre dal CD?

NI. Si tratta di un setup "light" ma pur sempre di un setup

> Vorrei pareggiare al max. Imposto default language settings in
> INGLESE, basta questo o devo fare altro....poi per il collate che fo?

La lingua � una cosa, la collation un'altra. La collation che viene
impostata per default dipende dalla lingua del sistema operativo in uso, ma
a collation uguale la lingua pu� essere diversa e non impatta il problema
che riscontri (semmai le date e altro).

> Da cd? mi sembra che si impostatva da li ricordo...
> GRAZIE, ALen
>
> ______
> Per quelli nuovi ho trovato...(vedi sotto)

> ALTER DATABASE testDB
> COLLATE French_CI_AI ;
> GO

Fai attenzione che con questo comando modifichi la collation di default del
database, ma non quella dei campi gi� creati per i quali, se vuoi, devi
procedere ad eseguire un ALTER TABLE ... ALTER COLUMN.
Se vuoi ho uno script per farlo che per� dovrei cercare...

Bye

--
Luca Bianchi
Microsoft MVP - SQL Server


--
Luca Bianchi
Microsoft MVP - SQL Server


Alen Cappelletti

unread,
Mar 3, 2010, 7:24:04 AM3/3/10
to
Grazie Luca...
si lo script l'ho trovato anch'io...volevo reistallare dal cd
l'istanza ma mi dice che per farlo devo lanciare il set up del prompt
dei comandi...così non l'ho mai fatto...mi sa che faccio prima a
disinstalalre tutto dal pannello di controllo applicazioni e rifare il
set-up.
...

Luca Bianchi

unread,
Mar 3, 2010, 7:57:08 AM3/3/10
to
> si lo script l'ho trovato anch'io...volevo reistallare dal cd
> l'istanza ma mi dice che per farlo devo lanciare il set up del prompt
> dei comandi...cos� non l'ho mai fatto...

Quello che ti serve � tutto in questa pagina

http://msdn.microsoft.com/en-us/library/ms179254.aspx

Alen Cappelletti

unread,
Mar 4, 2010, 5:19:12 AM3/4/10
to
Luca io ho installato la nuova instanza 2005, su macchina in
italiano...al momento di scegliere il COLLATE, il
SQL_Latin1_general_CP1_CI_AI che era di default sul SQL 2000 (la
macchina che sto migrano) non era disponibile tra le selezioni su
SQL2005. Ora sulla macchian nuova c'è Latin_general_CI_AS. Ma è las
tessa cosa. poi cmq ho impostatio la lingua in inglese come in SQL2000
acnhe se è in italiano SQL Server 2005.


Il codice sotto dovrebbe pareggiare SQL2005 con il 2000 ma come lancio
questo comando..questo non ho capito...e sopratutto dici che è
necessario pareggiare il COLLATE per stare sicuro di tutto?.
GRAZIE.
Alen

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=<istance>
/SQLSYSADMINACCOUNTS=sa /SAPWD=<psw>
/SQLCOLLATION=SQL_Latin1_general_CP1_CI_AS

Luca Bianchi

unread,
Mar 4, 2010, 2:34:50 PM3/4/10
to
> Luca io ho installato la nuova instanza 2005, su macchina in
> italiano...al momento di scegliere il COLLATE, il
> SQL_Latin1_general_CP1_CI_AI che era di default sul SQL 2000 (la
> macchina che sto migrano) non era disponibile tra le selezioni su
> SQL2005. Ora sulla macchian nuova c'� Latin_general_CI_AS. Ma � las
> tessa cosa.

Proprio la stessissima no. Quelle che iniziano con il prefisso "SQL" sono le
collation SQL Server; le altre sono le collation Windows. Le prime erano il
default fino a SQL Server 2000, le altre lo sono a partire da SQL Server
2005. Le 2 che hai citato dovrebbero (dovrebbero) essere comunque
equivalenti e le conversioni implicite sempre possibili.

> poi cmq ho impostatio la lingua in inglese come in SQL2000

> acnhe se � in italiano SQL Server 2005.

La lingua � un attributo del login. Devi fare attenzione che TUTTI i login
abbiano default language inglese (o ti riferisci ad un'altra lingua?)

> Il codice sotto dovrebbe pareggiare SQL2005 con il 2000 ma come lancio
> questo comando..questo non ho capito..

Il comando va lanciato dal prompt dei comandi. "Setup" � il setup.exe che
trovi nella root del DVD di installazione, quindi per eseguirlo devi
posizionarti nel percorso corretto o indicare il path per esteso.

> .e sopratutto dici che �


> necessario pareggiare il COLLATE per stare sicuro di tutto?.

Non credo che ci sia bisogno viste le collation in gioco (hai la possibilit�
di riprodurre quel problema che hai incontrato sull'errore nelle regole di
confronto?), ma nel dubbio meglio farlo ora...

> GRAZIE.
> Alen

Alen Cappelletti

unread,
Mar 4, 2010, 5:21:17 PM3/4/10
to
Grazie Luca domani ti aggiorno...

Alen Cappelletti

unread,
Mar 4, 2010, 5:33:46 PM3/4/10
to
Luca,
ho provato dal cmd shell di windows puntando al file setup del cd (su
D) ma mi ha dato un errore...che è?
Ho dentro il CD 2 di installazione non 1 sono in remoto ... non sono
sulla macchina fisica...


D:\Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=<istance> /


SQLSYSADMINACCOUNTS=sa /SAPWD=<psw> /
SQLCOLLATION=SQL_Latin1_general_CP1_CI_AS

Identificativo errore
___________-
EventType : sql90setup P1 : unknown P2 : 0x667 P3 :
unknown
P4 : 0x667 P5 : unknown P6 : unknown P7 : sqlrun.msi
____________________________________

C:\Programmi (x86)\Microsoft SQL Server\90\Setup Bootstrap\LOG
\SqlSetup0010.cab

Luca Bianchi

unread,
Mar 5, 2010, 3:27:54 AM3/5/10
to
> ho provato dal cmd shell di windows puntando al file setup del cd (su
> D) ma mi ha dato un errore...che �?

> Ho dentro il CD 2 di installazione non 1 sono in remoto ... non sono
> sulla macchina fisica...

Ho fatto questa attivit� solo 2 volte e sempre utilizzando il DVD. Oltre a
provare con l'altro, leggi attentamente questo link

http://msdn.microsoft.com/en-us/library/dd207003.aspx

in particolare dove si dice "Insert the SQL Server 2008 installation media
into the disk drive, or, from a command prompt, change directories to the
location of the setup.exe file on the local server. The default location on
the server is C:\Program Files\Microsoft SQL Server\100\Setup
Bootstrap\Release."

0 new messages