Когда вы говорите «Тайм-аут», оно достигает тайм-аута клиента? Например, время ожидания команды .net по умолчанию составляет 30 секунд. Я бы предложил увеличить это значение до очень большого или запустить обновление в инструментах SQL (по умолчанию время ожидания не установлено).
Кроме этого, обновление закончится в определенный момент или произойдет ошибка и откат: у вас достаточно времени?
Существует также блокировка, последнее перестроение индекса, последнее обновление статистики, триггеры, случайное перекрестное соединение, рост файла MDF или LDF, плохой ввод-вывод, разбиение на страницы ОС ... и т. Д. Вы перезапустили экземпляр или сервер SQL, чтобы удалить экологические проблемы и уничтожение всех других соединений?
Просто недостаточно информации, чтобы выносить суждение, извините.