Wednesday, 13 January 2016

Skype for Business, SQL Server, and VMware

If you have deployed a virtualized Lync Server 2013 or Skype for Business infrastructure, and have followed the best practices, your Lync or Skype VMs will no doubt have multiple CPU cores.

If you have done this on VMware, and you let the VMware provisioning wizard automatically assign the CPUs, you may have a problem.

By default VMware will assign multiple CPU cores as multiple virtual CPU sockets, each with a single virtual core. This means that in an eight core server you have eight sockets. This fine for Lync or Skype, but represents a problem for the SQL Express installation that every front end server has, or indeed the SQL Server Standard installations you might be using for your back-end databases.

SQL Server Express is limited to "the lesser of 1 socket or 4 cores", which means that in the default VMware configuration SQL Express gets 1 core (because 1 socket has 1 core).

SQL Server Standard Edition is limited to "the lesser of 4 sockets or 16 cores", which means that if you have more than 4 virtual sockets, but only 1 virtual core per socket, SQL gets only 4 cores.

In order to give SQL Express access to more CPU resources you need to alter the virtual CPU allocation to put have fewer virtual sockets, with multiple virtual cores per socket.

To look for this issue in my VMware-based Skype for Business Environment I put together a brief script. The purpose is to report out the CPU configuration of all the servers which host a local management store replica (these servers have a local SQL Express instance), and all the back-end database servers.

Note that the script will fail to connect to Edge servers, and those should be checked manually.

# Get-SkypeServerCpuDetails.ps1
# Script to retrieve the CPU details of servers hosting Skype for Business SQL databases
# Ben Lye -

# Create an array of all the Skype for Business servers we are interested in
$Servers = @()
# Get the servers hosting replicas of the management store - these systems will have SQL Express Edition
$Servers = $Servers + @(Get-CsManagementStoreReplicationStatus | Where {$_.ProductVersion -ne ""} | Select-Object ReplicaFQDN -ExpandProperty ReplicaFQDN)
# Get the Application Database servers - these will be SQL Server Standard Edition or Enterprise Edition
$Servers = $Servers + @(Get-CsService -ApplicationDatabase | Select-Object PoolFqdn -ExpandProperty PoolFqdn)
# Get the Persistent Chat database servers
$Servers = $Servers + @(Get-CsService -PersistentChatDatabase | Select-Object PoolFqdn -ExpandProperty PoolFqdn)

# Create an array for the output
$Output = @()

# Loop through each of the servers
$Servers | % { 
 # Create an object to store the output in
 $Object = New-Object –TypeName PSObject
 $Object | Add-Member –MemberType NoteProperty –Name HostName –Value $_
 # Use WMI to get the details of the processor(s) from the system
 If ($ServerProcs = @(Get-WmiObject win32_processor -ComputerName $_)) {
  # Populate the output object with details of the processors
  $Object | Add-Member –MemberType NoteProperty –Name CpuDescription –Value ($ServerProcs[0].Name -replace '\s+', ' ')
  $Object | Add-Member –MemberType NoteProperty –Name CpuSockets –Value $ServerProcs.Count
  $Object | Add-Member –MemberType NoteProperty –Name CpuCoresPerSocket –Value $ServerProcs[0].NumberOfCores
  $Object | Add-Member –MemberType NoteProperty –Name TotalCpuCores –Value ($ServerProcs.Count * $ServerProcs[0].NumberOfCores)
 # Append the output object to the output array
 $Output = $Output + $Object

# Return the output
Return $Output
Download Script

The script doesn't give information about which version of SQL Server each system is running, so you'll need to know that in order to determine if there is actually a problem in the resulting output.

- Ben


  1. I am hoping the same best effort from you in the future as well. In fact your creative writing skills has inspired me.
    QuickBooks in Key West

  2. Advances from Customers: Advances are essentially requested and gotten for the affirmation of requests However, these are additionally utilized as wellspring of financing the operations important to execute the employment arrange. hedge funds

  3. This blog merits an amazing honor and I must say, the blog writings are spiritual.
    Dresden Immobilien

  4. This blog totally steps away from all those generic and symbolizes what well-written truly looks like.
    Dissertation help uk

  5. This comment has been removed by the author.

  6. When you are in a tanning salon and within the private room for undressing, take a look at yourself if there is any hidden eye peeping over there. At this point, this could be a difficult task to

  7. Now that is the thing that I call an enormous blog. Flawlessly composed.

  8. Invite. Details. The biggest ecommerce launch of 2017 is launching on Sept 12th. JV's & Affilaites need to check out for details. trexmegastore


  9. loans for unemployed

    pretty helpful stuff, overall I believe this is really worth a bookmark, thanks

  10. As the transformer burned, the soot entered the buildings ventilation shafts and quickly spread toxic soot throughout the building. cryptocurrency converter

  11. The most well-known means are advances and financing. Resource based credits utilize a business' benefits, for example, stock and hardware, as security.go here

  12. Its very good idea to use Skype for such purpose, definitely try to do it as soon as possible. Also I wanna add that only this skype latest version has everything that u need for business.

  13. The best way to ensure success in getting your business loan is to be prepared. guarantor loans

  14. One of the best ways to incorporate a business is using an online incorporation service. The trouble is there are many to choose from. Read these 10 tips to using and choosing a quality online incorporation service to ensure you get the right service for your business incorporation needs. WY Incorporation

  15. If you are a businessperson who wants to expand the consumer base to gain a foothold in the international arena, then you have to be prepared to send the final products to the consumers globally and to receive the raw materials from different locations of the world. To achieve this successfully, you can make use of the mail forwarding service providers who ensure the safe delivery of the goods on time. Virtual address in Wyoming

  16. So you'll require a legal advisor, real estate agent, building monitor and duty bookkeeper for a begin. Investment websites

  17. This blog totally steps away from all those generic and symbolizes what well-written truly looks like.

    Send Flowers To Japan Online

  18. Joseph Lizio holds a MBA in Finance and Entrepreneurship, is the founder of Business Money Today, has a strong commercial lending background and is regarded as an expert in business and finance specifically business loans and working capital.Try this out

  19. Literally, the best blog I have ever read. I feel bad, for not finding this blog sooner.
    Joseph Hayon

  20. Greenbox Capital is your access to working capital now. Get approved for up to $250,000 cash. New businesses in operation at least 6 months with minimum $7,500 average monthly revenue over each of the past 3 months can qualify. Low credit scores, liens and bankruptcy OK. Small business loan

  21. This comment has been removed by the author.

  22. Check out our incorporation packages for competitive Hong Kong company formation and businessregistration fees. hong kong business registry

  23. Just pure brilliance from you here. I have never expected something less than this from you and you have not disappointed me at all. I suppose you will keep the quality work going on. 55 postcard printing

  24. Many people have cut back on, or given up their land-line telephone numbers for reasons that include convenience, savings, and features; and have moved to internet or wireless telephone contacts

  25. Numerous entrepreneurs live with the feeling that the main establishment accessible to them for getting a credit is a bank.More about the author

  26. All projects can benefit from the tried and tested project management techniques and tools widely available. Whether it is a simple project involving a single team of people working together in the same location or a hugely complex global project involving teams with different skill sets across the globe, good project management will lead to a more successful outcome. project management app

  27. Just remember to choose a business idea that aligns with your personal interests/passions, otherwise you are likely to lose interest and quit the business altogether.self employment ideas in tamil