Troubleshooting the Operating System

When installing Microsoft SQL Server on a Microsoft Windows NTFS partition, make sure that the NTFS file permissions allow read/write access. Otherwise, this error message may appear in the Microsoft Windows NT application log (for each installation attempt):

Msg 17050: initerrlog: Could not open error log file 'C:\MSSQL7\log\ERRORLOG'. Operating system error =5(Access is denied.).

Verify that all system requirements are met, including installation of Microsoft Windows NT Service Pack 4 (SP4). For more information about system requirements, see SQL Server Books Online.

Internet Connection Dialog Box at Startup

If remote connections are enabled in Microsoft Windows 95 or Windows 98 operating systems, the system may initiate an Internet connection at Windows startup or at the start of many applications. This behavior is sometimes called autodial or autoconnect. This behavior can be disabled by setting the registry key EnableRemoteConnect to N.

To do this, create a text file named DisbleAutoConnect.reg with the following three lines:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE]

"EnableRemoteConnect"="N"

  

Changing this setting to disable remote connections should not prevent any of your usual Internet activities. This setting is the default for most systems. However, enabling remote connections is necessary for some features of DCOM. For more information, see http://support.microsoft.com/support/.

If there are instances when you need to have remote connections enabled, create a second REG file, named EnableRemoteConnect.reg, with the following three lines:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE] 

"EnableRemoteConnect"="Y" 

  

Run EnableAutoConnect.reg to make the setting, then run DisbleAutoConnect.reg to disable it when autoconnect is no longer needed.

Thread Pooling

The Microsoft SQL Server error log may display the message:

The working thread limit of 255 has been reached

  

This message is an informational message and does not indicate any problem with the system.

SQL Server maintains a pool of operating system threads for executing batches of SQL statements as they arrive from clients. On Microsoft Windows NT, if the server lightweight pooling configuration option is set to 1, SQL Server maintains a pool of fibers instead of threads; fibers use fewer resources than threads. Using a pool of threads or fibers allows SQL Server to optimize the allocation of processing time when executing multiple SQL statements at the same time. The threads or fibers in this pool are known collectively as the worker threads. For more information, see SQL Server Books Online.

The number of worker threads is controlled by the max worker threads server configuration option. The default is 255 and rarely needs to be changed.

When a batch of Transact-SQL statements is received from a client, if an existing worker thread is free, it is allocated to execute the batch. If no existing worker threads are free and the number of worker threads is less than max worker threads, a new worker thread is allocated. If no worker threads are free and max worker threads is reached, the new batch waits until an existing worker thread completes its current batch and becomes free. When the number of worker threads reaches max worker threads, SQL Server displays this message:

The working thread limit of 255 has been reached

  

Having all worker threads allocated does not mean that the performance of SQL Server will degrade. Typically, a new batch has only a short wait for a free thread. Allocating more threads may degrade performance because of the increased work required to coordinate resources among the threads. Many SQL Server systems running in production reach this state and run with very high performance levels.

Insufficient Virtual Memory on the Server

When the applications running on a server request more memory than is available on the server, Microsoft Windows opens the Server Process - Out of Virtual Memory dialog box with the following text:

Your system is running low on virtual memory. Please close some applications. You can then start the System option in the Control Panel and choose the Virtual Memory button to create an additional paging file or increase the size of your current paging file.

  

Use Virtual Memory in Control Panel to make sure that the amount of virtual memory at least 1.5 times the amount of physical memory available on the server. Microsoft SQL Server dynamically requests or frees memory as needed on Microsoft Windows NT systems. SQL Server should not cause this error on Windows NT when running with the default configuration options. For more information, see SQL Server Books Online.

If the virtual memory setting seems appropriate, consider the following actions: