Change Data Capture on Standard Edition

One of my favorite features of SQL Server 2008 is Change Data Capture.  I’ve blogged about it and talked to many user groups about it.  One nagging detail about the feature is that it is only included in the Enterprise Edition.  I’ve spoken to a lot of users that are on Standard Edition and either don’t have the financial ability to move to Enterprise or can’t justify the cost difference for the particular feature.

I’m aiming to resolve that issue with a project I started out on CodePlex called StandardCDC.  This project will implement the conceptual working parts of Change Data Capture on a Standard Edition instance running either SQL Server 2005 or 2008.  Here is what you will get:

  • The ability to track DML changes on any table in a database with the results written to a relational format in a separate schema. 
  • The ability to configure which columns are tracked for a given table.
  • The ability to store tracking data on a separate filegroup.
  • Automated purge of tracking data (user configurable, defaulting to 12 hours).
  • A DDL trigger to alert you of changes to tracked objects.
  • Easy to use stored procedures that allow you to simply reference your table and have all implementation handled for you.

If you are currently on Standard Edition and want to try StandardCDC I would love to hear from you.  Tell me what you love, what you hate, and why you think I’m a moron (if necessary).  My only goal here is to share a little joy with the full SQL community.

Ladies and gentlemen, start your downloads!


Posted by: whitneyw
Posted on: 7/10/2009 at 12:31 AM
Tags: , ,
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed

Do you like reporting? And do you like Silverlight?

If the answer to those two questions is yes, then I have just the webinar for you.  My colleague, and all-around great guy, Sergey Barskiy will be hosting a webinar on reporting in Silverlight.  See his blog here for the details.  You’re sure to learn something with Sergey at the wheel.


Posted by: whitneyw
Posted on: 7/9/2009 at 9:46 PM
Tags: , ,
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Google Chrome OS Will Apparently Make All Your Problems Disappear

Reading the blog entry here about Google Chrome OS had me until the final paragraph where they really queued the music and went over the top.  My favorite quote is “People want to get to their email instantly, without wasting time waiting for their computers to boot and browsers to start up” .  I get this for a netbook as most users understand this is a simple device.  Stating that this will be stretched to the desktop experience is quite another thing.  It will be interesting to see how they straddle the line of instant on with competitive features.  Most users have come to expect more than “it starts fast”.

At least we know the future won’t be boring. :)


Posted by: whitneyw
Posted on: 7/8/2009 at 1:15 AM
Tags:
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

Are you ready for a world without SQL?

There is a rather active anti-database movement afoot these days.  I initially chalked this up to the same “XML is going to replace databases” craziness that I heard back in the 90s but you can’t argue with the successes that some Web 2.0 companies have had going off traditional RDBMS architectures.  I still think it’s far too early in the game to declare SQL dead, or really even in trouble, but it’s an interesting topic to keep in the back of your mind if you make your living in relation to SQL.


Posted by: whitneyw
Posted on: 7/3/2009 at 8:52 PM
Tags: ,
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (3) | Post RSSRSS comment feed

Columbus SQL Users Group – Slides and Code Samples

Thanks to everyone who came out to the user group meeting.  It was great talking to you all.

The slides and sample code used tonight are included in this post.  If you have any questions please drop me a line through my contact page.

ColumbusPASS_Jun23_CDC.zip (1.31 mb)


Posted by: whitneyw
Posted on: 6/23/2009 at 9:49 PM
Tags:
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

How Many Ways Can You Say "Database" in Metadata?

The answer, in SQL Server 2008, is quite a few.  A day or so ago Paul Randall tweeted about the lack of consistency within the column naming in system objects that reference databases (id or name).  It got me to thinking about the ones I knew which naturally led to being bothered that there might be others I don't know about (sometimes I really wish I could turn that off, oh well).

So to satisfy my curiosity (and hopefully enlighten/entertain you) here is the path I took to get the answer.

First, query the catalog view sys.all_columns for columns containing db or database in their names.

SELECT c.name AS ColumnName
FROM sys.all_columns AS c
    INNER JOIN sys.all_objects AS o ON o.[object_id] = c.[object_id]
WHERE c.name LIKE '%db%' OR c.name LIKE '%database%'
GROUP BY c.name;

After a quick look through those results I boiled it down to a meaningful list and went back to sys.all_columns.  The query below returns 65 rows for my instance.

SELECT c.name AS ColumnName
    ,SCHEMA_NAME(o.[schema_id]) AS SchemaName
    ,o.name AS ObjectName
    ,o.type_desc
FROM sys.all_columns AS c
    INNER JOIN sys.all_objects AS o ON o.[object_id] = c.[object_id]
WHERE c.name IN(
                'database'
                ,'Database Name'
                ,'database_id'
                ,'database_name'
                ,'DatabaseID'
                ,'DatabaseName'
                ,'db_id'
                ,'db_name'
                ,'dbid'
                ,'dbname'
                ,'Master DBID'
                ,'orig_db'
                ,'referenced_database_name'
                ,'resource_database_id'
                ,'SourceDatabaseID'
                )
ORDER BY ColumnName
    ,SchemaName
    ,ObjectName;

There were a couple I had forgotten about but most items are DMVs.  Still some fun detail to have in the back of your head for the next time you need it.  Or just remember this blog post.  Either way. :)


Posted by: whitneyw
Posted on: 6/16/2009 at 11:59 PM
Tags: ,
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Want To Read This Blog On Your Kindle? Now You Can!

I was recently accepted into the Amazon Kindle store in their blog section.  If you are interested you can add it through the web here.  I haven?t looked for it on a Kindle but I?m pretty sure a name search would work.  Enjoy!


Posted by: whitneyw
Posted on: 5/23/2009 at 2:38 PM
Tags:
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Nashville SQL Server Users Group – May 29

I will be speaking to the Nashville PASS Chapter next week on Change Data Capture.  The meeting starts at 11:30 CST and I will be speaking from 12:00 to 1:00.  If you are in the Nashville area or want to take a drive that day stop on by.


Posted by: whitneyw
Posted on: 5/19/2009 at 7:54 AM
Tags: ,
Categories: BlogEngine.NET
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed