User Licenses and how Sage 500 counts them

2 minute read time.

Hello all,

I am finally getting to this write up that I have been wanting to do for a while now!  How does the Sage 500 application count up the number of user licenses?  Before we take a look at that, let's look at where to find the number of user licenses you have. The information below applies to more current Sage 500 versions, such as v2014, v2013, and I believe v7.40. 

 

How many Sage 500 user licenses do I have?

From System Manager, Maintenance, Maintain Site, look at the License tab Concurrent Users box.  This screen shows how many concurrent users your license allows to be connected to the same Sage 500 application database.

 

When does the Sage 500 application expend a user license?

Does Sage 500 expend a user license when you log into the application? No. Sage 500 counts the license when any task is launched. When a task is launched, 1 user license is expended. If the user launches 20 different tasks, still only 1 user license is expended. However, if that user closes all tasks but is still logged into Sage 500, the user license is NOT released and is still counted. When the user closes all the tasks and logs out of the Sage 500 application, there is 1 more user license available.

If a user logs into Sage 500 and tries to launch a task and gets a message about not having enough licenses, in order for that user to proceed, any other Sage 500 user would need to logout from the Sage 500 application.

 

 

What is the T-SQL statement that is executed when checking how many licenses are being used by the Sage 500 application?


The statement below is passed from the Sage 500 application(client) to SQL Server and executed against the application database the user is logged into. The program name 'Sage 500 ERP/Application'  is the footprint that identifies that connection as being used by Sage 500. The count statement is not counting the number of spids coming from the Sage 500 application. In fact, its normal to see many spids per user login tied back to the Sage 500 application. Each task can launch one or more connections to SQL Server.

SELECT COUNT(*) FROM master.dbo.sysprocesses WITH (NOLOCK)
WHERE dbid = db_id() AND program_name = N'Sage 500 ERP/Application'

How can I check how many Sage 500 user licenses are currently being used?


At any point during the day if you want to find out how many user licenses you have used up you can do the following:

  1. Login into SQL Server Management Studio using sa or admin account. (Any SQL login with enough rights to execute the license counting T-SQL statement)
  2. Change the database context to the Sage 500 application database
  3. Copy, paste, run   SELECT COUNT(*) FROM master.dbo.sysprocesses WITH (NOLOCK) 
    WHERE dbid = db_id() AND program_name = N'Sage 500 ERP/Application
  4. Compare the number returned with the number displayed in Maintain Site, Concurrent User box to determine number of user licenses available. 

That is all there is to the user license counting logic.  I hope I have shed some light as to how this works.  It is a question that has come up many times and has been confusing as to when the user license is used.   Please let me know if you have any questions or comments!

Tony