Monday, June 29, 2009

Windows Internal Database (SSEE)

The Windows Internal Database is a special variant of Microsoft SQL Server 2005 Express. It is included with Windows Server 2008, Windows Server Update Services (WSUS), Windows SharePoint Services (WSS) and other Windows Server tools. It is also referenced as SQL Server 2005 Embedded Edition (SSEE).

The Windows Internal Database is used by Active Directory, WSS, WSUS and other Windows Server services as their data storage. Some of its main characteristics are:
  • It cannot be used as a regular SQL Server instance as it is intended to be only used by Windows Services/Programs.
  • It cannot be removed by using the "Add or Remove Programs" tool because it does not appear in the list of currently installed programs (more info here). Note that it is not recommended to uninstall SSEE as it might affect the operation of Windows Services that use it.
  • It only supports Windows Authentication.
  • You can only connect to the instance using Named Pipes.
In some cases where you might need to access this special instance of SQL Server (i.e. for reducing the transaction log size of a database) you must use the Named Pipes protocol for doing so. Named Pipes can be enabled from Network Configuration in SQL Server Configuration Manager.

Fist of all you will need to install SQL Server 2005 Express Edition Management Studio (link).
Then you will need to use the following connection properties:
  • Server Type: Database Engine
  • Server Name: \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
  • Authentication: Windows Authentication
You have to be careful when accessing the Windows Internal Database as many Windows Services depend on it.

2 comments:

bmijuskovic said...

This is a nice one.

Even so, any idea of what it can be used for? What are the limitations (if any)?

What I can think of at the moment is logging... maybe?

Anyway, thanks for the tip!

Artemakis Artemiou [MVP] said...

Hi Bojan,

Well, SSEE was designed to only be accessible to Windows Services running on the same machine.

I am not aware of any database size limitations to be honest. As an example when you install SSEE with WSS there are not any db size limitations. I guess any possible db size limitations depend with which Windows service you installed SSEE.

The limitations are:

(1) It cannot be removed by using the "Add or Remove Programs" tool because it does not appear in the list of currently installed programs.

(2) It only supports Windows Authentication.

(3) You can only connect to the instance using Named Pipes.

I would not recommend treating SSEE as a regular SQL Server Instance due to its nature. You can always use another SQL Server Edition/Instance for that!