• Well you could do it with security. The application is either using a SQL login, a single AD login or service account, or it's passing through end user credentials. Deny those users access to the tables then they won't show up in the application. Then if they need access, create some similarly named views that all have a nice default where clause, like last 2 months as someone suggested.

    To be honest, your devs sound a bit closed minded. What they should really be doing is some sort of paging. Either controlled by the code, or by injecting an ORDER BY with OFFSET and FETCH http://msdn.microsoft.com/en-us/library/ms188385.aspx

    see the examples at the end of that msdn entry on the ORDER BY clause.

    To be fair, if the users have been provided with a tool that is open slather for creating select * queries, then they should be provided with training on those elevated rights and their responsibilities with regard to the data. It's a privilege not a right to have that level of access