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.

First 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.

[Ad]
Easily secure your SQL Server instances! Try out DBA Security Advisor!
DBA Security Advisor for SQL Server by SQLArtBits
DBA Security Advisor was developed by SQLArtBits. The tool was being carefully developed for an entire year and it contains comprehensive security checks and recommendations based on proven SQL Server security best practices. Feel free to download and use the Community Edition which is free and if you find it useful, you can consider upgrading to the Enterprise Edition!

Artemakis Artemiou [MVP]

Author & Editor

Artemakis Artemiou is a Senior SQL Server Architect, Software Developer and Microsoft Data Platform MVP. He is also an author, regular blogger, president of Cyprus.NET User Group and CY Country leader of INETA-EU. He is also the creator of DBA Security Advisor and In-Memory OLTP Simulator. Artemakis is a frequent guest author of worldwide well-respected online journals where he writes articles focusing on many SQL Server topics.

Reference: The SQL Server and .NET Hub (http://www.sqlnethub.com)

5 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!

Chill said...

Why the SSEE also used by AD, is incorrect description I think.

Artemakis Artemiou [MVP] said...

Hi Chill,

In Windows Server 2008, Active Directory Rights Management Services use Windows Internal Database for their data storage.

Maykon Rodrigues said...

Thanks!.