Caro amigo um deadlock pode ocorrer em vários bancos , isto esta ligado ao modo de como este banco trava os registros , que pode ser um a um ou por página.
Um deadlock consiste no seguinte por exemplo imagina que todos mandassem fazer um update ao mesmo tempo no mesmo dado no mesmo registro isto cairia numa fila e se por acaso algum update nao fosse concretizado nao sederia lugar aos próximos entao depois de algum tempo teremos a mensagem deadlock.
ou seja um processo travando outro.
Quanto a limitações acho que vc nao deve se preocupar o SQLSERVER é poderoso e aguenta muitos registros o problema esta no seu processo. reveja-o e se precisar de ajuda poste ele aqui.