THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | Join | Help
in Search

Adam Machanic

Adam Machanic, Boston-based independent database consultant, writer, and speaker, shares his experiences with programming, performance tuning, and optimizing SQL Server 2000, 2005, and 2008, in conjunction with related technologies such as .NET.

Full Outline for my PASS Pre-Con: SQLCLR From Beginner to Expert

Since the announcement of my SQLCLR pre-conference seminar at this November's PASS conference I have received a few e-mails asking for more detail about what I will be covering. In addition to the Q&A I did with PASS, I thought it might be helpful if I post the entire schedule for the day (see below).

The seminar's goal is to literally move you from "Beginner" to "Expert" and although some familiarity with the topic will help you get into the latter category faster, none is required. I do recommend at least basic knowledge of C# and ADO.NET; there are a couple of free online courses (such as this one), and if you're planning to addend the pre-con and have not yet worked with C# I highly recommend taking a few hours to go through one of them. As a matter of fact, even if you aren't planning to attend the pre-con you should do this; learning another language is fun and, in my opinion, will improve your T-SQL skills by opening your mind to new and different ways of solving problems.

Not sure if you're interested in getting involved with all of this SQLCLR stuff? Then check out my 24 Hours of PASS session, SQLCLR or T-SQL? A Brief Survey of Performance Options. In this session I will present just a few of the performance examples from the full-day pre-con, and in slightly less detail due to time constraints, but it should be enough to show you the power and flexibility that well-engineered SQLCLR solutions can provide.

If you have any questions about either the 24 Hours of PASS session or the pre-con, feel free to post here or contact me through my blog. I'm really looking forward to both events and hope to see some of you there!

 

SQLCLR From Beginner to Expert

  • Module 1: Overview (What SQLCLR Can Do)
    • Why .NET in the data tier?
    • Does it perform?
    • What kinds of business and technical challenges can it solve?
    • Is it hard to manage?
  • Module 2: Introduction to SQLCLR: UDFs
    • Creating your first SQLCLR method
    • CREATE ASSEMBLY and related statements
    • Intro to permission sets
    • SqlTypes library
    • Interaction concerns for nullable types and new SQL Server 2008 data types
    • SqlFunction attribute
    • Determinism, precision, and system data access
    • Dealing with Visual Studio deployment issues
    • IEnumerable and table-valued UDFs
    • Performance and UDFs
  • Module 3: SQLCLR Stored Procedures and Data Access
    • Stored procedures vs. functions
    • Introduction to the in-proc data access model
    • The context connection
    • SqlContext class
    • SqlPipe class
    • Exceptions and exception handling
    • When does it make sense to use a CLR stored procedure?
    • When should a CLR UDF be used instead?
    • A few thoughts on SQLCLR triggers
    • Use cases
      • Data access and performance
      • Better administration through SQLCLR
      • Solving sequential and time series problems
  • Module 4: Security, Reliability, and Design Considerations
    • What do the permission sets REALLY mean?
    • HostProtection
    • Code Access Security
    • Database trustworthiness
    • Strong named assemblies
    • Designing for least privilege
    • Designing for reuse
    • Creating robust utility classes
  • Module 5: User-Defined Types
    • Why complex types?
    • SqlUserDefinedType attribute
    • INullable interface
    • Serialization and ordering
    • Static and instance methods
    • Data validation and domain rules checking
    • The Parse method
    • Eliminating the Parse method: Factory type patterns and strongly-typed methods
    • Design considerations
    • Use cases for types and static methods
    • Helping to bridge the app/database gap
  • Module 6: User-Defined Aggregates
    • Where do UDAs fit and what problems do they solve?
    • What are their limitations?
    • SqlUserDefinedAggregate attribute
    • The various methods that make up a UDA
    • The SQL Server 2005 8000-byte limitation and the SQL Server 2008 lack thereof
    • Solving business and analytical problems using UDAs
  • Module 7: Troubleshooting and Ongoing Maintenance
    • Deployment concerns
    • The SQLCLR management UDAs
    • ALTER ASSEMBLY
    • Assembly versioning
    • Changing code (without breaking everything)
Published Monday, August 17, 2009 11:00 AM by Adam Machanic

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Deep said:

Hi Adam,

Will the conf recording be available after the conference in PASS website?

August 17, 2009 10:48 AM
 

Adam Machanic said:

Hi Deep,

I believe that they will be selling DVDs of the seminar.

August 17, 2009 11:39 AM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Adam Machanic

Adam Machanic is a Boston-based independent database consultant, writer, and speaker. He has been involved in dozens of SQL Server implementations for both high-availability OLTP and large-scale data warehouse applications, and has optimized data access layer performance for several data-intensive applications. Adam has written for numerous web sites and magazines, including SQLblog, Simple Talk, Search SQL Server, SQL Server Professional, CoDe, and VSJ. He has also contributed to several books on SQL Server, including "Expert SQL Server 2005 Development" (Apress, 2007) and "Inside SQL Server 2005: Query Tuning and Optimization" (Microsoft Press, 2007). Adam regularly speaks at user groups, community events, and conferences on a variety of SQL Server and .NET-related topics. He is a Microsoft Most Valuable Professional (MVP) for SQL Server, a Microsoft Certified IT Professional (MCITP), and a member of the INETA North American Speakers Bureau.

This Blog

Syndication

News

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement