It doesn't matter if you have a max of 8000 characters for a variable, or not. You cannot print more than 8000 characters in SQL Server in a single unbroken line.
What is it that you're trying to do? I mean, why does the requirement of printing 30,000 characters as an unbroken string exist for you?
--Jeff Moden
Change is inevitable... Change for the better is not.