<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Steve Muise - SQL Server stuff</title><subtitle type="html">From the CLR to Analysis Services - SQL 2005 is a whole new beast. I will be discussing my findings, learnings, experiences, and personal opinions on the new new SQL Platform. 

I will also be posting follow-up conversations, code samples, question discussions from the MSDN SQL Programmability webcasts I am doing on Fridays.

Come join us on Friday
http://www.microsoft.com/events/series/msdnsqlserver2005.mspx</subtitle><id>http://blogs.neudesic.com/blogs/steve_muise/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.neudesic.com/blogs/steve_muise/atom.aspx" /><generator uri="http://communityserver.org" version="2.0.60217.2664">Community Server</generator><updated>2006-02-03T21:50:00Z</updated><entry><title>Public Presentations Book Review</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2007/11/19/21419.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2007/11/19/21419.aspx</id><published>2007-11-20T07:26:00Z</published><updated>2007-11-20T07:26:00Z</updated><content type="html">&lt;P&gt;I started reading a book on public presentations. I thought it would be interesting to wrap up each chapter with my personal thoughts and highlights. The name of the book is "The Expectional Presenter"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Chapter 1: &lt;/P&gt;
&lt;P&gt;The Exceptional Presenter is&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Organized&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Passionate&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Engaging&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Natural&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As an&amp;nbsp;Exceptional Presenter you must&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Understand your Audience&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Practice both the presentation and presenting in general&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally every presentation counts, don't go into one half-baked, half-prepared. Never let the competition back in the game&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Wrap up there are a couple of key elements in presenting; prepare, discuss things you are interested in, know the material so you can speak about it naturally, and be sure to know who you are talking to.&amp;nbsp;Bad presentations just happen, good ones don't.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=21419" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>SQL Server Broker - Session 10</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/05/26/129.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/05/26/129.aspx</id><published>2006-05-26T18:38:00Z</published><updated>2006-05-26T18:38:00Z</updated><content type="html">&lt;P&gt;Alright, I just got done trying to condense the Encyclopedia Brittanica doen to 30 slides and 60 minutes.&lt;EM&gt;&amp;nbsp; &lt;/EM&gt;I hope people got enough information to at least understand what the Service Broker does and why you might want to look at it. There aren't really too many got articles out there on the functionality of the Broker (except Roger Wolter's book on the Beta release). Building Enterprise Service Busses aren't for the weak of heart. They are large complex monsters that have a lot of hidden gotcha's. Here at Neudesic we are working on a cutting-edge bus that allows existing messaging systems to interact. But it is taking one of our very bright minds months to think it all through and create a bullet-proof solution. If you are interested in hearing more, let me know.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Anyway, I am sure I created more questions than answers during the webcast, so feel free to ask for additional clarifications. here is the sample code for download&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.neudesic.com/uploads/steve_muise/10_SqlBroker.zip"&gt;http://www.neudesic.com/uploads/steve_muise/10_SqlBroker.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for joining me today, hope to see you back in a couple of weeks&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=129" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>XQuery - Session 9</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/05/26/128.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/05/26/128.aspx</id><published>2006-05-26T18:21:00Z</published><updated>2006-05-26T18:21:00Z</updated><content type="html">&lt;P&gt;In SQL 2005, XML has gone native and with the now native XML type is the need to query effectively and efficiently. Thus the use of XQuery. XQuery allows a XML file to be queried in place and only the resulting values returned. XQuery is a super-set of XPath, and additional functions. It is a pretty large and complex set of functions and properties, but fairly easy to read and learn (since it is plain text, doesn't need a compiler and is fairly verbose)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the link to the sample code I demo'ed during the webcast. I ran over again, so take a few minutes and look over the sample code.Most of it is pretty straight forward and makes goos sense when you see it. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.neudesic.com/uploads/steve_muise/09_XQuery.zip"&gt;http://www.neudesic.com/uploads/steve_muise/09_XQuery.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let me kow if you have any further questions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=128" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>XML Data Type - updated for 2005</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/28/105.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/28/105.aspx</id><published>2006-04-28T18:18:00Z</published><updated>2006-04-28T18:18:00Z</updated><content type="html">&lt;P&gt;Sorry about the rush today. I know I didn't manage my time well. No excuses (except maybe the cold medicine).&lt;/P&gt;
&lt;P&gt;Anyways - Here is the sample code I went over, you will find a few additional samples I didn't have time to go over.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.neudesic.com/uploads/steve_muise/08_XMLType.zip"&gt;www.neudesic.com/uploads/steve_muise/08_XMLType.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Also here are a few links to some additional, well-written articles on the new XML type&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/XML/BuildingXML/XMLandDatabase/Default.aspx?pull=/library/en-us/dnsql90/html/forxml2k5.asp"&gt;http://msdn.microsoft.com/XML/BuildingXML/XMLandDatabase/Default.aspx?pull=/library/en-us/dnsql90/html/forxml2k5.asp&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/XML/BuildingXML/XMLandDatabase/Default.aspx?pull=/library/en-us/dnsql90/html/sql2k5xml.asp"&gt;http://msdn.microsoft.com/XML/BuildingXML/XMLandDatabase/Default.aspx?pull=/library/en-us/dnsql90/html/sql2k5xml.asp&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To store XML in Unicode in SQL Server use the UTF-16 Encoding.&lt;/P&gt;
&lt;P&gt;I mentioned at the end, but it is worth repeating; in order to modify an existing Schema Collection that has been created in the database and bound to a column in a table you have to:&lt;/P&gt;
&lt;P&gt;1. Remove the table binding (ALTER Table ...)&lt;BR&gt;2. Remove the Schema (DROP Schema ...)&lt;BR&gt;3. Recreate Schema with new Schema (CREATE Schema ...)&lt;BR&gt;4. If necessary update XML in the table&lt;BR&gt;5. Rebind Schema to table (ALTER Table ...) - be prepared to wait, it needs to re-validate all XML files in the table&lt;/P&gt;
&lt;P&gt;For the Indexing capabilities, you can also do a FULLTEXT index over the XML column to optimize text searches&lt;/P&gt;
&lt;P&gt;The above articles cover the XML Methods fairly well (that is the modify, query, value, etc) that I&amp;nbsp;covered pretty quickly&lt;/P&gt;
&lt;P&gt;The OPENROWSET is pretty straight forward, I know I glossed over - but take a look at the sample code and see if it doesn't just make sense. Email me if you have any questions&lt;/P&gt;
&lt;P&gt;Again sorry about the poor time management, I will try and improve for next time.&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=105" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Building a practice</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/17/95.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/17/95.aspx</id><published>2006-04-18T00:07:00Z</published><updated>2006-04-18T00:07:00Z</updated><content type="html">&lt;P&gt;Here we are half way through the Webcast series ...&lt;/P&gt;
&lt;P&gt;If any of you have ever built a Consulting practice before, you probably understand the amount of hard work that goes into wearing a number of hats.&lt;/P&gt;
&lt;P&gt;1. Technical sales&lt;BR&gt;2. Recruiter&lt;BR&gt;3. Delivery&lt;BR&gt;4. Public speaker&lt;/P&gt;
&lt;P&gt;I love doing all of those things - it just gets tiring doing them all at the same time. Neudesic&amp;nbsp;has built&amp;nbsp;a tremendous reputation in the BizTalk, Sharepoint, Custom Application Development, and CRM practices in a number of large western US markets, and now the SQL/BI practice is growing in leaps and bounds. I have focused on building the SQL/BI practice by hiring top quality, high value consultants (it is the same model the other practice managers and company founders used). I just need more people.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Because of our exposure and my, and&amp;nbsp;SQL team's experience we are often called upon to assist in 2005 implementations and migrations (heck I haven't had to work on a 2000 database in a couple of years). We also have a world-class OLTP expert (a former SQL Product team and MCS person) that has some of the largest clients in country as former customers, and the keep asking for him to come back and fix problems - that provides us an entry into some fantastic environments to work and learn.&lt;/P&gt;
&lt;P&gt;Anybody interested?&lt;/P&gt;
&lt;P&gt;I hope the followers of&amp;nbsp;my MSDN&amp;nbsp;webcasts have found the information useful. I have been trying to follow the good feedback I have received to improve the delivery. There is always a bit of gap between what a person knows and what they can communicate, so while I have used a lot of the features we have discussed, the ability to clearly describe them in a coherent fashion is a skill that needs to be developed. Thank you all for your feedback. Keep it coming. I hope the second half continues to improve.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please let me know if you start implementing any of the features we have discussed, I would love to hear more cases where the new features apply and add value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steve Muise&lt;BR&gt;Neudesic LLC&lt;BR&gt;SQL/BI Practice Manager&lt;BR&gt;Steve.Muise&amp;lt;RemoveThisToEmailMe&amp;gt;@Neudesic.com&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=95" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>T-SQL Enhancements (Section 7)</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/14/94.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/14/94.aspx</id><published>2006-04-14T20:42:00Z</published><updated>2006-04-14T20:42:00Z</updated><content type="html">&lt;P&gt;Today's section was a blur - 42 slides and 7 demos in 55 minutes. I have included in my download my copy of the slides which hass some of my talking point notes (somethings I spoke off-the-cuff) for those you will need to catch the webcast again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Anyway today we discussed:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Try-CATCH exception handling, and the additional information methods to return error information&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The new and VERY useful Common Table Expressions (Use these often)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The PIVOT and UNPIVOT - which when needed are invaluable&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The modified EXCEPT and INTERSECTION - not necessarily new, but still useful (they were available in a different form previously)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The CROSS and OUTER Apply and the ability to JOIN with an UDF&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The modified TOP feature&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;And the very useful OUTPUT feature to pipe back results as a table from UPDATE, DELETE, and INSERT statements&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you found it useful, I know I spoke a bit fast. If you have any additional questions fee free to email me. Here is the files for Download - &lt;A href="http://www.neudesic.com/uploads/steve_muise/07_TSQL_DML.zip"&gt;http://www.neudesic.com/uploads/steve_muise/07_TSQL_DML.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks again and see you in 2 weeks&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=94" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Section 6 - New SQL Engine Features</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/14/93.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/04/14/93.aspx</id><published>2006-04-14T20:33:00Z</published><updated>2006-04-14T20:33:00Z</updated><content type="html">&lt;P&gt;Today we talked about &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;the new SQL Data Types (varbinary, varchar(max)), &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;how to keep readers from blocking writers and writers from blocking reader using the new isolation and versioning features&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Enhanced Triggers and Notifications&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;New new BULK INSERT capabilities using the newer drivers&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ways to enhance the Query Execution plan using hints and optimizations&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the sample code and slides for you offline perusal - &lt;A href="http://www.neudesic.com/uploads/steve_muise/06_EngineFeatures.zip"&gt;http://www.neudesic.com/uploads/steve_muise/06_EngineFeatures.zip&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=93" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Upcoming Schedule of webcasts</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/17/75.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/17/75.aspx</id><published>2006-03-17T19:12:00Z</published><updated>2006-03-17T19:12:00Z</updated><content type="html">&lt;P&gt;There have been a few questions about the upcoming topics, and I know MSDN only show a few weeks out at a time. So here is the rest of the schedule. Each webcast is scheduled for every other week, so you can figure out the dates.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;6.&amp;nbsp;New SQL Engine Features - &lt;BR&gt;&lt;/STRONG&gt;&lt;STRONG&gt;SQL Server 2005 includes snapshot isolation, in which versioning rather than locking is used to ensure multiuser semantics. We examine the details and implementation. Common table expressions and using them with recursive queries are covered. The new DML syntax enhancements and extended triggers round out this module.&lt;/STRONG&gt;&lt;/P&gt;
&lt;H3&gt;7. New Transact-SQL Features&lt;BR&gt;&lt;STRONG&gt;SQL Server 2005 includes a number of Transact-SQL enhancements. Exception handling using TRY-CATCH syntax has been added. Common table expressions and using them with recursive queries are covered. The ranking and partitioning functions and other new DML syntax enhancements round out this module.&lt;/STRONG&gt;&lt;/H3&gt;
&lt;H3&gt;8. The XML Data Type&lt;BR&gt;SQL Server 2005 supports native XML storage, schema validation, and indexing using a SQL-2003 compliant data type. We'll not only show how to use the datatype, but discuss when to use native XML as an adjunct to relational data. We also explore enhancements in XML composition and decomposition functions.&lt;/H3&gt;
&lt;H3&gt;9. XQuery&lt;BR&gt;This module begins with a brief overview of the XQuery language for the uninitiated. Then we explore the implementation of XQuery using the native XML data type in SQL Server 2005. Finally we see how to mix relational data and parameters with in-database XQuery.&lt;/H3&gt;
&lt;H3&gt;10. SQL Server Service Broker&lt;BR&gt;SQL Server 2005 introduces asynchronous queuing inside the database through the SQL Server Service Broker. We'll set up a simple Service Broker-based application using the new broker DDL and objects, then program the application using DML extensions. We'll also discuss how Service Broker solves some very difficult problems in producing stateful but scalable applications.&lt;/H3&gt;&lt;STRONG&gt;&lt;/STRONG&gt;
&lt;H3&gt;11. SQL Server And Web Services&lt;BR&gt;SQL Server 2005 can be used to directly expose industry-standard web service functionality from inside the database. In this module we go over the details of this functionality and then define and build stored procedures that are exposed as web services. Finally we'll build a web service consumer using Visual Studio 2005.&lt;/H3&gt;
&lt;P&gt;
&lt;TABLE cellSpacing=0&gt;

&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;
&lt;H3&gt;12. SqlClient and the new Data Types&lt;BR&gt;The new user-defined type and XML data type must be useable on the client to be useful for application programmers. This module shows how to use the new types in ADO.NET and System.Xml as well as classic ADO and MSXML. We discuss when to do user-defined type processing on database or client. Finally we explore using SqlTypes on the client.&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;
&lt;H3&gt;13. SqlClient Provider - New Features&lt;BR&gt;The client side ADO.NET data provider, SqlClient contains many new features to enhance ASP.NET and Windows Forms programming. Some are SQL Server 2005 specific, while some can be used with other versions of SQL Server.&lt;/H3&gt;
&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;
&lt;H3&gt;14. ADONET2&lt;BR&gt;ADO.NET 2.0 shifts the managed provider access model from an interface-based model to a base class-based model. We'll discuss the new model, which includes provider registration, provider factories, data source enumerators, connection string handling, and generalizatart.&lt;/H3&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;15 - TBD - This is one I have left open and we are discussing what we should cover - Any suggestions?&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=75" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Security - SQL 2005 - New features</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/17/74.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/17/74.aspx</id><published>2006-03-17T19:08:00Z</published><updated>2006-03-17T19:08:00Z</updated><content type="html">&lt;P&gt;Today we discussed the updated Authorization Model, then enhanced Authentication model (using Certificates), how easy it is to encrypt and decrypt data at the field level. The new Database Schema model and a few examples of how to use it. I know a rna few mintutes over again, but I thought the topic was pretty important and even at a high-level still takes a bit to discuss fully. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is the sample code, play with it a bit and come back with additional questions - there is abunch I didn't cover so as you start to apply this technology you will most likely run into a few stopping points - feel free to ask.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.neudesic.com/uploads/Steve_Muise/05_Security.zip"&gt;http://www.neudesic.com/uploads/Steve_Muise/05_Security.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=74" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>User-Defined Types and Aggregates</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/03/62.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/03/03/62.aspx</id><published>2006-03-03T19:33:00Z</published><updated>2006-03-03T19:33:00Z</updated><content type="html">&lt;P&gt;I know we tried to cover too much information today. I had to speak faster than I would have liked, and pass over code that may have been interesting or valuable to some in the audience. I apologize and hope to add some additional information here attempt to further explain. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First here is the Sample code you saw today. &lt;A href="http://www.neudesic.com/uploads/Steve_Muise/04_UDT-Agg.zip"&gt;http://www.neudesic.com/uploads/Steve_Muise/04_UDT-Agg.zip&lt;/A&gt;&lt;BR&gt;In the zip file is the T-SQL code, the C# and VB.NET code.&lt;/P&gt;
&lt;P&gt;I will post the sample code that shows the Serialization for the Format.UserDefined, later on this afternoon. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally there was a question about Indexing on a UDT. I tested real quick and confirmed you can create an Index on a UDT field. I will do some more research and make sure there aren't any gotcha's we need to look out for.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See you in 2 weeks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=62" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Data Provider from within SQL Server's hosted CLR</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/17/54.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/17/54.aspx</id><published>2006-02-17T20:33:00Z</published><updated>2006-02-17T20:33:00Z</updated><content type="html">&lt;P&gt;Today we discussed the advantages to using the Context Connection = "true" when connecting to SQL from a cataloged assembly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the demo code.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.neudesic.com/uploads/Steve_Muise/03_SqlServer_Provider.zip"&gt;http://www.neudesic.com/uploads/Steve_Muise/03_SqlServer_Provider.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Sorry about the short post, but I have a few things I need to get up here, so check back soon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=54" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Catalog Assembly -- Clarification --</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/13/50.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/13/50.aspx</id><published>2006-02-14T07:15:00Z</published><updated>2006-02-14T07:15:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma&gt;I had an attendee send me a question, where he heard me say that you could have the same assembly cataloged twice using 2 different names. And in fact, I have in the demo code an example of an attempt to catalog the same assembly under the name of "MetricConverter" and the name "foo" - The fact is you can not catalog the same assembly twice using 2 different SQL names. You can't register the assembly, copy it and/or rename it and register it under a different name (though I couldn't imagine why anybody would want to do this)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;You can register 2 assemblies (that happen to be a version of one another) that have 2 different names as 2 different names in the database. So for example, I took the MetricConverter code, compiled and catgaloged. Then opened the code added another method, changed the assembly name and re-compiled, then went back and cataloged the versioned assembly with a new name. I now had 2 versions of the same assembly with 2 different names.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;But this of course, begs the question "why ..." &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;- I could only imagine the pain and confusion that could be created by cataloging multiple versions of the same assembly. &lt;BR&gt;I tend to think of assemblies as interface contracts, once they are published, they are golden until all dependencies are hunted down and destroyed (or simply modified). If in fact, I want to create a new version of a method, I would create a new signature (thus a new interface contract) and start migrating clients over. Or if I need to fix a bug in a method, then I want to know that all methods are calling the one version of code I have available with the interface contract being used - so when the bug is fixed all versions now are using the new version of code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;Can anybody come up with a good example of a reason to use multiple versions of the same assembly?&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=50" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Today's MSDN Webcast - Stored Procs, Functions, and SQLTypes</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/10/47.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/10/47.aspx</id><published>2006-02-10T19:29:00Z</published><updated>2006-02-10T19:29:00Z</updated><content type="html">&lt;P&gt;So today I was able to advance the .NET CLR conversation, with some additional examples, discuss the differences between a Procedure and a Function, the importance of using SQLTypes, requirements to using a function as an index-able column. Then I touched breifly on Table-Valued Functions (this we will discuss further, later on).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The question and answer period, was once again an excellent experience - great questions (if anyone is leaving early - don't). There were a few questions that I took away for further discussion.&lt;/P&gt;
&lt;P&gt;1. Discuss in further details the Nullability of SQL data types&lt;BR&gt;2. How, when and why to use the @@rowcount from within .NET methods&lt;BR&gt;3. How to send an email using databasemail from within a .NET procedure&lt;BR&gt;4. Is it possible to use a config file (e.g. MyAssembly.dll.Config) for the attributes&lt;BR&gt;5. What kind of context is available in the 2 methods necessary for building a Table-Valued Function&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I will begin to discuss each one of these here, I look forward to some interesting conversation around these topics.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the link to the sample code from todays webcast&amp;nbsp; (the VB.Net code is included)&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://www.neudesic.com/uploads/Steve_Muise/02_CLRProcs_Demo.zip"&gt;http://www.neudesic.com/uploads/Steve_Muise/02_CLRProcs_Demo.zip&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;&lt;FONT&gt;See you next week&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Steve&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=47" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>SQLTypes compared to SQL Server Types</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/09/44.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/09/44.aspx</id><published>2006-02-10T03:24:00Z</published><updated>2006-02-10T03:24:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma&gt;Tomorrow I will be speaking on writing SQL CLR Stored Procedures. Among other things, one thing you always want to insure is that you limit type coersion as much as possible. This means that you should use the SQLType library in your .NET code and the appropriate SQL Server types in the T-SQL Function that calls the .NET method. To insure that you use the right types here is the MSDN reference page of the data types mapped to each other.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlTypes.asp"&gt;&lt;FONT face=Tahoma&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlTypes.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;For other tips come listen to the webcast (or play the recorded version if you're busy tomorrow morning)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=44" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry><entry><title>Introductions are in order</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/03/30.aspx" /><id>http://blogs.neudesic.com/blogs/steve_muise/archive/2006/02/03/30.aspx</id><published>2006-02-04T05:50:00Z</published><updated>2006-02-04T05:50:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma&gt;I just wanted through a quick introduction out, so people know who I am. My name is Steve, I have worked for a number of companies large and small, including Microsoft. I was born and raised in So Cal, moved the Seattle to work at MS, then joined a consulting firm and haven't looked back. I now work for a mid-sized firm back in So Cal, I get to manage the SQL/BI Practice.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;I am married, have 5 children, and don't get much sleep.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;I have been working on/with SQL 2005 since before it was even a Beta. I was with a company called Aspirity, and worked with Reed Jacobson early on to develop the BI training. I also worked with Stacia Misner, Dave Duvarney, Tom Huguelet, Scot Regin, Dan Reh, and a host of other VERY smart people in the Business Intelligence space. I have been lucky enough to continue working on SQL 2005 for clients, and now I get to speak to others about it as well. Though, when I got cut off half-way through my SQL Launch event session, I was a bit bummed (anybody at the Anaheim SQL Launch - that went to the Managing and Administering SQL session?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;Anyway, welcome. I know some topics will become religious in nature, but let's try and all keep an open mind, and "Do no harm"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;-- Steve&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=30" width="1" height="1"&gt;</content><author><name>Steve_Muise</name><uri>http://blogs.neudesic.com/members/Steve_Muise.aspx</uri></author></entry></feed>