{"id":2632,"date":"2008-05-27T11:11:00","date_gmt":"2008-05-27T11:11:00","guid":{"rendered":"https:\/\/test.simple-talk.com\/uncategorized\/the-object-oriented-orthodoxy-and-the-dba\/"},"modified":"2017-08-10T12:54:31","modified_gmt":"2017-08-10T12:54:31","slug":"the-object-oriented-orthodoxy-and-the-dba","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/the-object-oriented-orthodoxy-and-the-dba\/","title":{"rendered":"The Object-oriented Orthodoxy and the DBA"},"content":{"rendered":"<p class=\"MsoNormal\">Server Management Objects (SMO) is a very impressive product. SMO (and its previous incarnation, SQL-DMO) is essentially an object-oriented interface into the management of SQL Server installations and databases. It provides an intuitive way for the VB or C# programmer to automate any operation that can be performed via SSMS.<\/p>\n<p class=\"MsoNormal\">We&#8217;ve run a few SMO articles in the past and to our surprise they have been met with little more than polite indifference. So, what is the problem? Well, firstly, DMO-based scripts worked via OLE automation. They could be run from any scripting language, even TSQL. Many DBAs spent many months DMO-automating their administration tasks only to find that they couldn&#8217;t be used in SQL Server 2005. To use SMO means Visual Studio and NET Framework only. Microsoft eventually did a U-turn and released DMO for 2005 (although without support for features specific to SQL 2005), but it still created a lot of ill feeling among DBAs.<\/p>\n<p class=\"MsoNormal\">A more fundamental problem is that the Object Oriented model, while crystal clear to the geeks at Microsoft, is alien to many of the DBAs who were the product&#8217;s intended users. There is a vast cultural gap between SQL and C#.<\/p>\n<p class=\"MsoNormal\">In SQL Server 2008, with the introduction of PowerShell and &#8220;PowerSMO&#8221;, I wonder if Microsoft is about to make the same mistake again. PowerShell may be crystal clear to the dome-heads of Redmond, but is as intuitive as runic scripts to many of the DBAs at the coal-face. <\/p>\n<p class=\"MsoNormal\">Personally, I think that Microsoft would stand a much better chance of having the DBA community embrace the technology with open arms, if they had instead provided a refined<i> relational model<\/i> for the management of SQL Server (think DMVs, but more versatile, with CRUD operations). <\/p>\n<p class=\"MsoNormal\"><b>What do you think<\/b>? Is it high time that Microsoft acknowledged that there is room for a richer diversity of IT culture, and that it is futile to try to impose the C# object-oriented orthodoxy on everyone? Or do DBAs need to &#8220;adapt or die&#8221;? Add your comments to this blog and the best entry will receive a prize.<\/p>\n<p class=\"MsoNormal\">Cheers,<\/p>\n<p>Tony.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Server Management Objects (SMO) is a very impressive product. SMO (and its previous incarnation, SQL-DMO) is essentially an object-oriented interface into the management of SQL Server installations and databases. It provides an intuitive way for the VB or C# programmer to automate any operation that can be performed via SSMS. We&#8217;ve run a few SMO&#8230;&hellip;<\/p>\n","protected":false},"author":200703,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,47125],"tags":[],"coauthors":[],"class_list":["post-2632","post","type-post","status-publish","format-standard","hentry","category-blogs","category-editorials"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/200703"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=2632"}],"version-history":[{"count":3,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2632\/revisions"}],"predecessor-version":[{"id":72067,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/2632\/revisions\/72067"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=2632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=2632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=2632"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=2632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}