SQL Server 2008: The database [dbName] is not accessible
Typically this is caused when the user's default database is set to a database they don't have permissions in, or it's offline.

For example, say I set you up a login in the Sales database, and then I right-click on your login in SSMS and change your default database to master - but you don't have any permissions in Master. When you try to connect, even though you want the Sales database, you'll go into Master by default, and get this error.

This can also happen if someone takes away your permissions in Sales and doesn't change your default database to something else.

This is why I love setting all users' default databases to TempDB. User databases can come and go, but TempDB will always be there. Plus if somebody accidentally creates an object, at least it's in a throwaway database instead of something like Master or Sales.