DBAs Bar Door Against Big Bad .Net Wolf

By Lisa Vaas  |  Posted 2005-08-29

DBAs Bar Door Against Big Bad .Net Wolf

Microsoft has been mercilessly tightening the screws between SQL Server and stack components BizTalk Server and Visual Studio—a tighter integration thats making developers gleeful and causing DBAs to cringe.

"If youre a developer, this makes [you] very happy. It has [database administrators] pretty concerned," said Kevin Kline, SQL Server MVP, director of technology for SQL Server Solutions at Quest Software and president of PASS (Professional Association for SQL Server). "You can have code running on SQL Server and you get a bug and you dont know how to code and debug it."

At the heart of the problem is T-SQL, a proprietary stored procedure language that SQL Server DBAs know like the back of their hands but that might as well be Greek to most .Net developers.

With an integration gleam in its eye, Microsoft Corp. has set its sights on demolishing the wall between those two groups. In SQL Server 2005—due to ship in early November—for the first time, the companys CLR (Common Language Runtime) will be integrated into the heart of the database.

That means that instead of being constrained to T-SQL, developers will be able to program to the data tier based on the language that theyre most familiar with, such as Visual Basic or C#, to create applications for the database.

Microsoft still intends to support and innovate around the T-SQL language that developers use to build applications for SQL Server, but developers will be able to use the often faster and less code-intensive SQL CLR.

Its easy to see why developers are so happy. CLR is a powerful tool with significant advantage over T-SQL in a few areas, according to Rick Dobson, an author, trainer and Webmaster for ProgrammingMSAccess.com.

Its a compiled language, as opposed to an interpreted one, as is T-SQL, Dobson pointed out. Also, CLR is powerful for computation-intensive tasks, such as string computation, he said.

Click here to read about how the unification of the SQL Server database engine with the CLR environment could evolve to offer developers a powerful model for data manipulation.

For his part, Anders Hejlsberg, a Microsoft Distinguished Engineer and the man known as the father of C#, is planning to tackle the integration question at Microsofts upcoming Professional Developers Conference, according to Microsofts posted abstracts.

Among other things, Hejlsberg plans to talk about new language features in C# 3.0, including anonymous types that make it possible to create powerful APIs for expressing queries and interacting with objects, XML and databases in a strongly typed, natural way.

Next Page: Mismatch between programming languages and the database world?

DBAs Bar Door Against

Big Bad .Net Wolf">

"My particular interest for the past couple of years has been to really think deeply about the big impedance mismatch we have between programming languages, C# in particular, and the database world, like SQL—or, for that matter, the XML world, like XQuery and those languages that exist there," Hejlsberg told Microsoft Watch Editor Mary Jo Foley and eWEEK Senior Editor Darryl K. Taft during the recent Microsoft Tech Ed conference.

"…When youre learning to program in C#, youre actually not just learning to program in C#. Youre also learning SQL," he said. "Interestingly, weve come to accept that thats just how it is. But it doesnt necessarily have to be that way. The two worlds are actually surprisingly unintegrated."

Microsoft is looking to make progress to fix that the gap between the two worlds, both on the tools side and on the language side, where well see the "Whidbey" release arm programmers with much more code sharing.

Read more here about SQL Server 2005s incredibly cool CLR integration.

So what are DBAs afraid of? A typical scenario is that programmers will write for a development server. The application seems to work well on that setup, so developers move the code over to the production server. Performance takes a nosedive, and it becomes the DBAs responsibility to fix it, according to Kline.

"[DBAs will] look at code in there and say, Youre using a cursor that consumes all sorts of resources it shouldnt have to, so lets change to an alternative [string] that works better," he said. "Now, the DBA traces to a CLR procedure, and when he opens it he doesnt know C#. Its code he doesnt know how to fix, but hes responsible for it."

Thus, many DBAs are at this point deploying a head-in-the-sand strategy to the impending CLR integration, Kline said, as few actively seek to acquire .Net or C# coding skills. "A lot of DBAs are saying, Ill be responsible for that when I know how to use it; when Im familiar with it," he said.

Much of the problem has to do with the fact that .Net is just too hard, Dobson said. "Most IT pro people—Im talking about the DBAs—did not embrace .Net" when it first came out in 2001, he said.

Dobson conjectured that this may be the reason for Microsoft to opt for turning the integrated CLR off by default when it ships the final SQL Server 2005 database. "Many DBAs have expressed concern about this CLR code hanging around their SQL Server databases," he said.

Between .Net being tougher to use than Visual Basic and having the integrated CLR shipped off by default, Dobson predicts that all this integration will be facing a languid adoption rate. "That combination of off by default and concern by DBAs suggests to me that the integrated CLR will get off to a slow start," he said.

Next Page: Will adoption of the integrated CLR in the SQL Server world be hampered?

DBAs Bar Door Against

Big Bad .Net Wolf">

Will this forever hamper the adoption of the integrated CLR in the SQL Server world? Kline thinks not, the saving grace being that the line between developers and DBAs is much fuzzier than that of, for example, Oracle Corp. databases.

"The line s very firmly and darkly drawn between developers and DBAs in the Oracle world," he said. "With Microsoft, there are DBAs who are fairly good developers and vice versa. Theres a portion out there that say No problem, I can handle it. In shops where theyre allowed to specialize a bit more, they dont have that skill set and are a bit more skittish about CLR.

"For those of us around when Oracle launched Java in the database engine, we wonder if it will be a repeat of that. Java didnt turn out to be a compelling feature. It could wind up going that way. My feeling, though, is that the developer community is so much stronger in the SQL Server world than [in the Oracleworld], my guess is that it will find a toehold."

At any rate, PASS will be helping to secure that toehold: The heightened integration between SQL Server and the rest of the stack will be a major theme at PASS upcoming conference, Kline said.

Check out eWEEK.coms for the latest database news, reviews and analysis.

Rocket Fuel