What is the difference between named and default instances in SQL Server?

Answer: Microsoft SQL Server 2005 and up are by default, installed as a named instance.  If you do not specify a named instance during installation, the default named instance “SQLExpress” is used.  The following information was taken from the Microsoft website.

SQL Server 2005 Default and Named Instances

Client applications connect to an instance of Microsoft SQL Server 2005 to work with a SQL Server database. Each SQL Server instance is made up of a distinct set of services that can have unique settings. The directory structure, registry structure, and service name all reflect the specific instance name you identify during setup.

An instance is either the default, unnamed instance, or it is a named instance. When SQL Server 2005 is installed in the default instance, it does not require a client to specify the name of the instance to make a connection. The client only has to know the server name.

A named instance is identified by the network name of the computer plus the instance name that you specify during installation. The client must specify both the server name and the instance name when connecting.

By default, SQL Server installs in the default instance unless you specify an instance name. SQL Server Express, however, always installs in a named instance unless you force a default installation during setup.

SQL Server Express Default and Named Instances

In SQL Server Express, a named instance is always used by default. You specify an instance name when you install SQL Server Express, or the default named instance of “SQLExpress” is used. If the default named instance is used, you reference the instance as computername\SQLExpress.

You can install SQL Server Express as the default SQL Server instance if another version of SQL Server is not installed on the server as the default instance. To do so, install SQL Server Express in a named instance using an instance name of “MSSQLSERVER.” This forces Setup to install SQL Server Express as the default unnamed instance.