Volevo modificare una colonna in una tabella di SQL Server 2005 su IDENTITY (1,1)
Incidentalmente questa tabella è vuota e la colonna essere cambiato è una chiave primaria.
Questa colonna è anche una chiave esterna per altre due tabelle.
sql server helper stored procedure o utilità per alter table alter table IDENTITY (1,1)
Dopo aver cercato su google ho scoperto che non è possibile utilizzare la sintassi della tabella di modifica per modificare una colonna e renderla una colonna di indentità.
link # 1: How do I add the identity property to an existing column in SQL Server
link # 2: Adding an identity to an existing column -SQL Server
Ho finito per controllare le tabelle dipendenti (di cui 2) rimuovere le chiavi esterne (generate lo script da SSMS) poi cadere la tabella principale poi ri -creare con identità. (potrebbe provare anche l'opzione di ridenominazione)
Quindi ricreare le chiavi esterne per le prime due tabelle dipendenti.
Ma tutto questo è stato un lavoro manuale, qualsiasi script o SP là fuori per rendere più facile questo.
Idealmente tutti questi passaggi sarà fatta per un tale script/strumento/utilità:
- Controlla tabelle dipendenti chiavi
- generare creare e rilasciare gli script di chiave esterna per questo
- generare creare script per la tabella principale
- rilasciare la tabella principale (o rinominare la tabella se la tabella contiene dati)
- ricreare la tabella con colonna di identità abilitato
- ricreare le chiavi esterne
+1, ci sono così tante cose da cambiare con tabelle/colonne/chiavi/vincoli/ecc. sarebbe impossibile avere un'utilità per ciascuno. ecco perché è possibile utilizzare la GUI per generare uno script. –
SSMS genera un errore, questa è stata la prima opzione che ho provato. Dovrei aver menzionato nella domanda ... –
Grazie per il link, disabilitando l'opzione ha funzionato come un fascino. –