What does "blocked=-2" mean?
This is documented in sys.sysprocesses (Transact-SQL):



You can find more information and possible actions to take in the duplicate question:


Dealing with Negative Session ID Denials in SQL Server  
How It Works: Orphan DTC Transaction (Session/SPID = -2)
Orphaned MSDTC transactions


In some cases, after proper investigation, it may be appropriate to configure SQL Server to presume that any in-doubt distributed transactions have aborted, using sp_configure.