Beginning in SQL Server 2005 Microsoft introduced a hidden database called the Resource Database. While it is often referred to as the resource database the actual name is mssqlsystemresource. The database contains all the system objects that are included with SQL Server.

The addition of the resource database was done to expedite the upgrade process, as opposed to adding, modifying, or removing system objects during the upgrade a new resource database is simply copied in and replaces the original resource database.

The objects in the resource database are made available through logical links in the sys schema of all databases.  While we can see many objects in the sys schema, provided by the resource database, there are also hidden objects that will never be seen unless you have direct access to the resource database. The conspiracy theories are indeed true, Microsoft did hide some objects far, far, far away from the prying eyes of well everyone, that is until now!

Want to see the shiny insides of the resource database? No Problem!

The easiest way to accomplish this is to grab it from the installation media, although it may be out of date if you have applied any service packs or updates. I would never recommend downloading this file from anywhere on the internet, that’s just a really bad idea. I found the file ku5zi-bj.mdf buried deep within the installation media folder structure. On the SQL Server 2014 installation media it is located at the following location

x86Setupsql_engine_core_inst_msiPFilesSqlServrMSSQL.XMSSQLBinnku5zi-bj.mdf

Simply copy the database file ku5zi-bj.mdf to where ever you may be keeping your data.

Another location to find the resource database is in your SQL Installation this is the location I was able to find it in.

C:Program Files (x86)Microsoft SQL ServerMSSQL12.MSSQLSERVERMSSQLBinn mssqlsystemresource.mdf

You may quickly discover that the file is actually in use by the SQL Server already! The easiest way to get at this file from this location is to stop the SQL Server Service copy the file to a new location.

Once the file is retrieved, attach the database through SSMS and be sure to update the .mdf location, remove the log file, and change the name of the database to something else using the AttachAs option.

Share This