Why is there a sysobjects when we already have sys.objects?


May 5, 2014 by Kenneth Fisher

Once upon a time in a version of SQL far far away we had system tables that were easy to see and could even be updated. One day one of these system tables “sysobjects” went to its fairy god-corporation Microsoft and begged to be hidden away from its mean step-dbas and step-users. Microsoft agreed and waved it’s magic version tool and poof SQL Server 2005 was born. The system tables (including sysobjects) were hidden away and re-named. New system views were created such as “sys.objects” and “sys.views” and were hailed as the “New and improved” versions of the original system tables. Also illusionary versions of the original system tables were created (views) in order to help to hide the system tables and to keep the DBAs and Users from screaming about backwards compatibility. The actual system tables were hidden and only the most experienced DBAs could find them and only when using special tools (DAC). And even then they could only be seen and not touched.

So when you go looking at the list of system views and you see sysobjects and sys.objects remember that once upon a time there was only the table sysobjects. And that the system view sysobjects will continue to haunt us until new code has stopped being written with it and it can be retired in peace.

2 thoughts on “Why is there a sysobjects when we already have sys.objects?

  1. Rudyx says:

    well those tables actually can be updated !!!
    Think DAC and sp_configure ‘allow updates’ !!!
    (oh do not forget sqlservr.exe -m -f too)

    • sqlsoldier says:

      Allow updates hasn’t been a valid options since SQL Server 2000. And what you are suggesting is the very reason why they removed it. It was never intended to be used that way except under direction of Microsoft support. A lot of people messed up their databases by doing that.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 3,746 other subscribers

Follow me on Twitter

ToadWorld Pro of the Month November 2013
%d bloggers like this: