Principale utente con più risposte
Timeout operazione

Domanda
-
Ciao a tutti, su di un sql server 2005 , in particolare in una tabella che contiene parecchi dati, avrei esigenza di modificare la struttura della tabella, rimuovendo un campo Chiave primaria autoincrementante e il tipo di dato (da int a smallint) di un altro campo. Le operazioni eseguite con Em anche una alla volta falliscono causa timeout. Come posso ottenere le modifiche che desidero ?
grazie ciao
Risposte
-
Ciao Alessandro,
si, moooooolto più veloce, pressochè istantaneo anche con milioni di righe.
Avrà una forma del tipo:
alter table nometabella drop column nomecolonnaidentity
alter table nometabella alter column nomecolonnaint smallint not null
marc.
- Contrassegnato come risposta Alessandro Andreatta venerdì 8 luglio 2011 06:38
Tutte le risposte
-
Ciao Alessandro,
SQL Server esegue questo tipo di operazioni su una tabella temporanea che verrà poi sostituita alla tabella originale, quindi, se hai molti dati, il loro tempo di copia dalla tabella originale a quella temporanea può essere significativo.
Questo articolo della Knowledge Base spiega un po' la situazione e come risolvere il problema: http://support.microsoft.com/kb/915849.
HTH.
Alberto Dallagiacoma
My Blog: http://blogs.ugidotnet.org/alby
DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org -
-
Ciao Alberto,
giusto per precisione e per dare a cesare quel che è di cesare, Sql Server, per fortuna, non fa nulla del genere. E' SSMS (e prima di lui EM) che crea quello script, spesso assurdo e inutile visto che lo applica anche dove bastano drop column e/o (con 2008) alter column.
marc.
-
-
Ciao Marcello,
Giusta precisazione. Ho scritto "SQL Server" genericamente, ma in realtà volevo dire "SSMS".
Alberto Dallagiacoma
My Blog: http://blogs.ugidotnet.org/alby
DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org -
Ciao Alessandro,
si, moooooolto più veloce, pressochè istantaneo anche con milioni di righe.
Avrà una forma del tipo:
alter table nometabella drop column nomecolonnaidentity
alter table nometabella alter column nomecolonnaint smallint not null
marc.
- Contrassegnato come risposta Alessandro Andreatta venerdì 8 luglio 2011 06:38