• The first couple of sentences in the article I linked gives you a calculation. 1gb to the OS for every 4gb of memory up to 16gb. So, if you have a 16gb machine, set SQL Server to have a max of 12gb. After 16gb he recommends 1gb for every 8gb of memory. So, if you have a 32gb machine you'd set SQL Server to 26gb, that's 4gb for the first 16gb and 2gb for the next 16. It's pretty straight forward as a recommendation.

    SQL Server can only consume as much memory as the OS will let it have. If you don't set a max, SQL Server and the OS will be swapping memory all the time. You don't want that. You just set the limit so that they're not fighting over the resources. SQL Server will then take all the memory up to that max value.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning