Preventing database access after application license key has expired I'm fairly new to this so forgive me if this is a basic question.

I have an application that uses a MS SQL database as the back-end. Like most 
applications, a user is prevented from using this application if the license key has expired. I would like to know if there is a way to also prevent users from accessing the database (via SSMS) when the key has expired?

Thank you in advance for your assistance!
If the person has a valid MS SQL Server username and password, they will be able to access the database. 

You could arrange your app so that the username/password they use for the app won't allow them to accesss the SQL Server database. In any case, what's the problem if your users wish to use Crystal (or whatever) to access what is, after all, their own data? 

What I mean is that surely your app provides some extra service (for which they are paying you) - after that, what they do with their data is their business. 

You could warn them that any modifications to data may invalidate/corrupt their data with respect to your application (i.e. you won't support them for that), but personally, I would be rather annoyed to be told by a vendor that I couldn't run ad-hoc reports against my own data!

[EDIT]

What you could do is keep any user whose privileges allow them to modify the data "secret", but give them a username/password with SELECT privileges and that way everybody's happy - they have access to their data and you can rest easy in the knowledge that users can't mess up your app.