Milind Lele - Demo of using new SQL Server from Visual Studio

Download this episode

Download Video

Description

Milind Lele, program manager on the Visual Studio data team, shows off some of the power of the next SQL Server, code-named Yukon, when combined with the next version of Visual Studio, code-named Whidbey.

One of the big advances in the next version of SQL Server is the inclusion of the .NET Common Language Runtime. What does that mean? Well, you can build new kinds of database applications.

Milind explains it all better than we could.

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      JamesProud

      Sweet! Milind, the first Microsoft guy I ever met. Great guy, and a great interview too.

    • User profile image
      ChrisHaas

      i'm glad someone finally explained when you would want to use managed code versus straight TSQL. good video.

      one question, does anything need to be done on the SQL Server to enable debugging?

    • User profile image
      MilindL
      Thanks Chris. The connection node in server explorer has a context menu command "Enable SQLCLR debugging". You can check that to enable this. Also when you create a SQLCLR project you are prompted for a connection to use as the target for your assembly. If this is not enabled for this connection, you will be prompted to.
    • User profile image
      ZippyV
      I noticed that Lele is using SqlTypes (SqlDouble). Why can't we just use the .net framework variabletypes?
    • User profile image
      PeterR
      nice video


      could someone tell me where i can get the background Lele has on his machine?
    • User profile image
      Aayush Puri
      Had read a couple of articles about the integration of CLR with Yukon but the concept was never so clear as was after watching this video.
      Anyone noticed the ";" that Milind had put after a VB line of code!!! I (and may be others too) tend to do the same mistake after writing code in C# (or JAVA) for months Wink

      -Aayush
    • User profile image
      Minh
      Very informative. Milind, could you detail the code paths of executing a native SPROC vs. a CLR SPROC? I'm mostly interested in performance issue. Whether or how much of a performance penalty a CLR SPROC may cause.
    • User profile image
      dantheman82
      Did anyone else notice that VS .NET 2005 was running rather slow on his system?  I've seen this on my computer as well, and would really like to see a speed improvement.

      Dan
    • User profile image
      wacko
      I have never had an issue, what I did notice is he was running beta two LOL One can hope that is not to far off. I find that VS 2005 runs pretty quick.
    • User profile image
      mwirth
      the one thing i notice on my machine is that in C# mode vs runs really smooth .. but C++ is almost painful. IntelliSense doesn't really work as expected most of the time and the editor performance in general (C++ only, that is)  is rather poor, unfortunately. I know these have been long reported to the feedback center.. just wanted to reiterate.
    • User profile image
      dotnetjunkie

      Could it be that Milind is usually programming in C#? Big Smile

      Hehe, so funny that he was typing in Double first insted of Dim etc...
      and then the ; at the end of the line Smiley

      I'd love to see more videos about Whidbey and Yukon!

    • User profile image
      rhm
      It was very professional of Milind to continue the demonstration during the earthquake that occured during filming. Most impressed.
    • User profile image
      MilindL

      FYI: Here's a great article that might help answer some of the questions:
      http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sqlclrguidance.asp

    • User profile image
      bjmarte
      Sorry I'm late to the party, just found the time to start watching some of the videos this month.  One down, nine more to go.

      One thing I'm very confused about regarding sql/clr integration.  How does writing business logic on the data tier fit into a three tier archetecture?  In other words, why in the world would you do this?

      Thanks,
      BJ
    • User profile image
      bjmarte

      No response.  It's good to know that Microsoft doesn't understand the proper application of it's products either.  You guys are scaring me.

    • User profile image
      MilindL

      It is not a recommendation to move all mid-tier logic to the data tier. Some of it can be. One must weigh and trade off data-traffic with server utilization.

      IOW you would never move all your business logic into the data tier.

      Hope that helps.

      Milind

    • User profile image
      bjmarte
      No, it doesn't help, it only keeps things muddy.  The "Some can be but all shouldn't be" philosophy seems like it has room for some pretty broad interpretation. Your guideline to "weigh and trade off data-traffic with server utilization" isn't all that clear either.  Even if I thought that was the correct design criteria for where to put the business logic, you don't give any standards to measure by.

      Don't get me wrong, I use and love Microsoft technology, especially .NET.  The reason I love .NET though is that it has made it easier to build well architected applications, while making it harder to write poorly architected applications.  Clr\Db integration seems like it is moving in the other direction, making it easy to put business logic in the database.  There are still a large group of Microsoft developers (sorry VB'ers) who don't fully understand proper architecture and this is a misleading gesture to them. 

      Microsoft should either drop this "feature" to go work on indigo or they should do a much better job of explaining it's proper use.  Otherwise I guarantee there will be database implementations bloated with business logic.  I know people now who think it is a good idea to put business logic in stored procedures as a general practice.  The fact that clr\db integration even exists is asking for people who don't know better to write business logic in their database.
    • User profile image
      bjmarte
      *bump*
    • User profile image
      ZIsraeli
      Maybe it's because I'm able to decide which socks to wear in the morning, or it could be that I'm used to IBM's approach to customer service (pay us for tech support, pay a consultant for best practices) but I don't understand how it's Microsoft's responsibility to instruct the masses on correct feature use (like in this article: http://msdn.microsoft.com/SQL/2005/servprog/default.aspx?pull=/library/en-us/dnsql90/html/sqlclrguidance.asp).  Read, demo, and determine if and how to implement.

      SQL Server's trying to sit at the big kids table in regard to Enterprise DB Solutions.  They needed to add things like CLR support b/c their competition has implemented it.  That said Microsoft has done a much better job implementing the CLR, giving developers much more leeway to develop custom apps.  Development standards, performance analysis and good old trial and error are enough - if developers hose their application because of a bad architecture decision, then they need to rethink and reimplement their design.  Frankly, it's up to "senior" staff to shield developers from nightmarish mistakes; I like to think the ability to intuitively make sound architectural decisions, and not just "following the yellow brick road" the vendor lays out before me keeps me employed.

      My only gripe is the lack of release notes when a new update comes out - though while Yukon's in beta it's understandable.  I hate having to search the world over until I come across the odd Microsoft Developer's blog pointing out an undocumented change.
    • User profile image
      santosh_b
      To add to what ZIsraeli said in response to BJMarte, if MS or indeed anyone enforced a pattern on where to put what code, developers all over would be furious and up in arms immediately saying "dont tell me where to put my code. I know what layer is best for my component" and so on.

      Architecture is all about trade-offs and things that work fine for some scenarios would be foolish to attempt for others. 

      Secondly dont confuse layers and tiers. Layers are logical and tiers are physical .You can have a three layered or more design sitting on one single box.

      Cheers

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.