views:

29

answers:

1

I have a large table consisting of over 60 millions records and I would like to add 2 new columns for data migration purposes. There are indexes on the table and some of them are large. So, by me adding the 2 new columns to the table, will I run the risk of slowing down the database whilst it attempts to add them and maybe time-out? Or will it just work?

I know that if I try and rearrange the columns SQL Server will ask me to drop and re-create the table, so I definately don't want this. Is this something everyone is challenged with?

+1  A: 

We've had the same problem with column and index changes on larger tables.

I would simply add the columns using ALTER TABLE. The column order, though nice, is irrelevant.

If the columns are NULLable them time is reasonable. if you want to add a default value and make them NOT NULL, then this is more work obviously. However, I would consider adding as NOT NULL, then setting to a value, then changing to NOT NULL to make it 3 steps you can do at different times. We do this to reduce the time window we need, even if the whole process tales longer

gbn
Thats great :o) These columns are purely for data migration, would it be advisable to remove them once we are finished with them?
Ardman
@Ardman: yes...
gbn