@codeka respondeu com a parte das horas (do seu título), mas no corpo da sua pergunta você pediu horas e minutos, então aqui está uma maneira
select DATEDIFF(hh, @date1, @date2) as Hours_Difference,
DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference
O que isso faz na primeira parte é o que @codeka mostrou. Dá-lhe o dateiff entre as duas datas em horas reais. O segundo termo no sql fornece a data em minutos entre a (primeira data + as horas decorridas) e a segunda data. Você precisa eliminar as horas da equação na parte dos minutos ou obterá os minutos reais entre as datas. Datediff e seus identificadores Datepart permitidos podem ser pesquisados aqui:
http://msdn.microsoft.com/en-us/library/ms189794.aspx