Is there a server option which limits the amount of rows returned by a remote query?
You can use OFFSET and FETCH to effectively page through results

e.g.

SELECT * FROM MyTable ORDER BY MyColumn OFFSET 100 FETCH NEXT 100 ROWS ONLY


Helpful article here...

Article About OFFSET FETCH

Though i would look into why it fails to return large result sets 50k isn't a lot in modern data.