• Could you try the statement below on a development or test server using a full sized table?

    The storage size for numeric precision of 12 or 18 is exactly the same (9 bytes), so it may not take as long as you think to make the change. I can't say I have every tried this particular operation on a large table, but it is worth a try if you have some place to test it.

    Alter table MyTable

    alter column MyColumn numeric(18,0) /*or correct precision needed*/

    not null /*(or null as needed)*/