Saturday, May 10, 2014

SQL Server Configuration Manager in 64 bit MSSQL Server

SQL Server Configuration Manager is a tool that comes along when the product is installed. It lets the administrators configure different options like starting or stopping a service, enable or disable network protocols etc. As Microsoft concentrates more on User Interface in its products, it did the same even in the case of configuration manager by providing a well designed API. 

SQL Server Configuration Manager can be opened by searching in Start Menu. It offers the configuration for the following options:
  1. Managing of Services.
  2. Configuration of Network Protocols.
  3. Managing Aliases for Server.
The configuration manager is different for 32 bit and 64 bit versions of SQL Server. I had a doubt regarding this while checking it once. In 64 bit SQL Server's Configuration Manager, in the left pane, I observed five options like
  1. SQL Server Services.
  2. SQL Server Network Configuration (32 bit).
  3. SQL Native Client Configuration (32 bit)
  4. SQL Server Network Configuration.
  5. SQL Native Client Configuration.





In 32 bit SQL Server's Configuration Manager I've observed the above options except 2nd and 3rd options. After a long research, I've found the reason for having the options like this. 


When you install a 64 bit Microsoft Windows operating system, you can find two folders in your C:\ drive as Program Files and Program Files (x86). The latter specifies the Program Files for the 32 bit software. Microsoft has included this feature because, firstly 32 bit was introduced and after a long time 64 bit OS was introduced. Meanwhile so many software vendors designed their software which suits the 32 bit OS architecture. After introducing 64 bit, if Microsoft had restricted the installation of 32 bit software then it would've been a burden on so many software vendors who couldn't migrate their software to suit 64 bit OS architecture. Keeping this in account, Microsoft kept no restriction on installing 32 bit software on a 64 bit machine and introduced another folder in C:\ drive with name Program Files (x86). In a 64 bit machine, if any 64 bit software is installed, it gets installed in Program Files folder while any 32 bit software gets installed in Program Files (x86) folder.

When a 64 bit SQL Server is installed on a 64 bit machine, it gets installed as both 32 bit and 63 bit version, thus taking a place in the both the above specified folders. This is the reason for the appearance of two more options with (32 bit) at the end as shown above. There exists a .dll file with name sqlmgmprovider.dll which is responsible for the Network and Native Client configurations in the following paths,

C:\Program Files\Microsoft SQL Server\110\Shared\    --> For 64 bit SQL Server 2012

C:\Program Files (x86)\Microsoft SQL Server\110\Shared\  --> For 32 bit SQL Server 2012

If the .dll is corrupt or missing in any of the above locations then you cannot see the Network Configuration and Native Client Configuration options in your SQL Server Configuration Manager. Suppose you install a 64 bit instance and a 32 bit instance on a 64 bit machine, the configuration manager appears like this:




The protocols and aliases for 32 bit instance can be configured from SQL Server Network Configuration (32 bit) section while the remaining below sections are for 64 bit instance. 

Suppose you can't see any of these options of 32 bit and 64 bit, it means the file sqlmgmprovider.dll is either corrupted or missing. If so, you can just copy it from another machine which is working correctly.

Above knowledge has been gained from different blogs, the following msdn blog helped a lot in understanding,

No comments:

Post a Comment