The title is deceptive because this is an ethics question.
I am running a SQL Server 2000 database and we have a total of 30 Client Access Licenses. This particular database is the back end for a third-party application that connects to SQL Server via ODBC and is used by a total of 23 users. My problem is thus:
1. The third party application does not propery close its connections, and SQL Server does not properly clean up these connections for several hours. I cannot duplicate this problem myself as any connection I leave open SQL Server will tidy up after only a few minutes.
2. Because of the connections not being cleaned up, users will often get a message that SQL Server has reached its limit of licenses and will not allow them to log in. This is a daily problem and I must manually kill the dead connections for anyone else to be able to log in.
3. This problem has reached the attention of management and I have been instructed to "fix" the problem, but without spending anything.
4. The vendor for the third-party application says this is a documented problem with their software, but lays the blame on SQL Server (which my experience tells me is bullsh**). There will be no updates to solve this problem.
One possible solution that I have explored is running SQL Server in "per processor" license mode. This mode solves the problem (because of unlimited connections), but begs an the question: Can I ethically run SQL Server in "per processor" mode (for which licenses are much more expensive than our current scheme) to solve this problem since we have enough CALs to go around?
I am running a SQL Server 2000 database and we have a total of 30 Client Access Licenses. This particular database is the back end for a third-party application that connects to SQL Server via ODBC and is used by a total of 23 users. My problem is thus:
1. The third party application does not propery close its connections, and SQL Server does not properly clean up these connections for several hours. I cannot duplicate this problem myself as any connection I leave open SQL Server will tidy up after only a few minutes.
2. Because of the connections not being cleaned up, users will often get a message that SQL Server has reached its limit of licenses and will not allow them to log in. This is a daily problem and I must manually kill the dead connections for anyone else to be able to log in.
3. This problem has reached the attention of management and I have been instructed to "fix" the problem, but without spending anything.
4. The vendor for the third-party application says this is a documented problem with their software, but lays the blame on SQL Server (which my experience tells me is bullsh**). There will be no updates to solve this problem.
One possible solution that I have explored is running SQL Server in "per processor" license mode. This mode solves the problem (because of unlimited connections), but begs an the question: Can I ethically run SQL Server in "per processor" mode (for which licenses are much more expensive than our current scheme) to solve this problem since we have enough CALs to go around?