Следното работи в SQL Server 2008 (SQL Fiddle ):
select convert(datetime, left(t, 10), 105) +
convert(time, substring(t, 12, 12), 114)
from (select '01-11-1999 09:22:16.162632' as t) t;
По ирония на съдбата не работи в SQL Server 2012. Там мисля, че трябва да направите:
select dateadd(ms, datediff(ms, 0, convert(datetime, substring(t, 12, 12), 114)),
convert(datetime, left(t, 10), 105)
)
from (select '01-11-1999 09:22:16.162632' as t) t;
Имайте предвид, че и в двата случая това използва милисекунди, а не микросекунди. Не вярвам, че SQL Server предлага стойност за дата и час с толкова голяма точност.