Novick Software SQL Server Consulting • Design • Programming • Training  

  sql server mvp



These presentations have been made to user groups in New England and some in the rest of the country.  If you're user group or company is interested in a live presentation, please contact Andrew Novick.

Writing Faster T-SQL Stored Procedures and Functions
Lessons Learned

T-SQL code is the foundation of many applications.  This presentation demonstrates practical methods for figuring out where to focus efforts and some techniques that have been successful in speeding T-SQL code.

The Biggest Loser: Database Edition

Fat! That’s how you’d have to describe most databases these days.  This presentation shows how to trim the database down to size.

Developing and Testing SQL Server Databases with Visual Studio 2010

This presentation introduces database development with Visual Studio. This will demonstrate development of the schema, integration with source control, build processes, and development of Unit Tests. Testing databases has always been difficult and new techniques are now available to developers to build them and automate regression testing.

SQL Azure

SQL Azure is Microsoft's relational database offering in the cloud.  While it's similar to SQL Server 2008 there are enough differences that it's important to understand what you can and can not do with SQL Azure.

Introduction to SQL Server Integration Services

Everyone who works with data ought to get to know SQL Server Integration Services (SSIS) the successor to SQL Server's DTS tool  for importing and exporting data.  It's not just a reworking  of the old DTS, instead it's a complete high performance ETL (Extract Transform and Load) tool  that competes with the best of breed ETL products but comes packaged  with the SQL Server and embedded in Visual Studio.  It can be  intimidating at first but once you get to know your way around it's not  difficult and can be extremely powerful

SQL Server Loadfest

Join us for the SQL Server Loadfest and do a hands-on installation of SQL Server 2008 with SQL Server expert Andrew Novick.  Topics include, SQL Server 2008 Editions, preparation of disks and security, the install, post-install task. Additional breakout sessions on security, BI, new features of T-SQL and data in the cloud.

Register for the SQL Server Loadfest!

Accessing SQL Server 2008 New Features from .Net
SQL Server 2008 brings new capabilities to enhance the features and performance of your programs.  This presentation will show how to use: Table Valued Parameters, the MERGE statement, FILESTREAM, enhanced Date and Time data types, the HierarchyID data type, large User-Defined Types and Multi-parameter User-Defined Aggregates. Examples in C# and VB.Net.

Partitioning Tables Views and Indexed Views

Partitioning techniques in SQL Server help the developer and DBA manage large quantities of data and improve query performance in a variety of situations.  This presentation demonstrates the techniques used for:

  • Partitioned Tables
  • Partitioned Views
  • Partition aligned Indexed Views


Defending SQL Server from SQL Injection Attack

SQL Injection attacks have emerged as the application security issue that creates the most data loss and web site defacement incidents passing cross-site scripting.  Defending SQL Server from SQL injection continues to be a problem for many applications.  This presentation will discuss the ways that SQL Server developers and DBA can harden their applications and servers.


Big Data: Managing Terabytes of Data with SQL Server

The modern data warehouse can grow to billions of rows and several terabytes of data.  This presentation takes a look at the techniques used to manage all that data.  The topics:
  • Storage Architecture - Direct Attach/Sans/Nas
  • Organizing data through files and filegroups.
  • The ETL process
  • Partitioned Tables and Partitioned Views for query optimization
  • Sliding window techniques to combine the above.
Visual Basic 2008 New Language Features Leading up to LINQ

We'll take a look at these features:

 - Extenstion Methods
 - Nullable types
 - IF operator
 - Anonymous Types (Var)
 - Implicit Typing
 - Object and Array Initializors
 - XML support

While some of these features stand on thier own, many of them are part of the language to facililitate LINQ.  We'll take a look at LINQ-to-Objects, LINQ-to-XML, and LINQ-to-SQL.


Understanding and Optimizing ADO.Net 2.0's SQL

Many programmers use ADO.Net 2.0 to write the SQL for their database operations.  This presentation shows how to understand the SQL that get's written and optimize the SQL for performance. 

One of the extreme optimizations that can be used for insert and update operations is a switch to SQL BulkCopy operations from standard INSERT, UPDATE, and DELETE.  The difference in improvement in performance can be dramatic.

User Defined Functions in SQL Server 2005
This updated presentation brings you up-to-date on UDFs.  Examples of both T-SQL and SQLCLR functions are supplied along with the sample database.

See this presentation at SQL Pass September 18-21 Denver, CO

CSLA: What and Why

CSLA is the Component Scalable Logical Architure.  A business object framework created by Rocky Lhotka in his books on the subject.  I've been using this for about 3 years and find it an incredibly useful framework for building business applications.

This presentation was prepared for a discussion on the topic at the Boston .Net Architecture Study Group


Programming Microsoft PowerShell (f.k.a. Monad)

PowerShell is the upcoming command line shell from Microsoft.  It replaces the standard pipe of text with a pipe of objects creating incredible power.

Programming SQL Server Service Broker with T-SQL and .Net

SQL Server 2005 adds the powerful Service Broker component, which is a secure, reliable, transacted messaging system and a queue manager.  Service Broker is a new tool for architecting highly reliable applications.  In this presentation you’ll learn the fundamentals of Service Broker design as well as how to write programs that use its facilities from both T-SQL and .Net programs.

SQL Server Programming: From 2000 to 2005

SQL Server 2005 (code name Yukon) has evolved from SQL Server 2000 in many ways. This presentation, delivered as a Microsoft Mini-Code Camp, is a full day of instruction in how to program the new SQL Server.  Includes slides and examples.

Replacing SQL Query Analyzer to Audit Ad Hoc SQL DML and DDL

An Application for Executing Ad Hoc SQL in a Regulated Environment.

What do you do when the data in an application is incorrect and the application isn't able to correct the situation?  You fix it, right? That approach doesn't sit well with the policies required by the regulatory compliance requirements of HIPPA and SOX, nor do auditors look on it favorably. This presentation demonstrates an application built to allow ad hoc changes to data and
create an audit trail of changes. Along the way we'll see some interesting T-SQL and use of SQLXML.

Programming SQL Server with .Net

SQL Server, starting with 2005, opens up the opportunity to run .Net code right inside SQL Server engine on a par with T-SQL. This gives the programmer an expanded choice of programming language. This presentation shows you how to write C# or VB.Net routines and execute them in SQL Server.

Creating User-Deinfed Types (UDT) in SQL Server 2005 with .Net

SQL Server 2005 includes a new feature, User-Defined Types, or UDT, for short. These types are created with .Net in languages such as VB.Net or C#.  The .Net code runs right inside SQL Server engine on a par with T-SQL. This gives the programmer an expanded choice of programming language. This presentation discusses SQL Server 2005's UDT feature.

.Net Developer Utility Round-Up

As part of the NEVB user group Developer Utility roundup, I pulled together a short presentation on the utilties that I use in my .Net Work.  There's also a page of links to find more about each utility.

Distributing the Smart Client Application

This presentation discusses the available options for distributing the smart client application such as XCOPY deployment, no-touch, deployment, setup projects (MSI), and the Updater Application Block (UAB). The options are discuss in light of the practical considerations that to into making the choice.

Isolated Storage in .Net

The .Net Framework places any code run from the network into a security sandbox (read more about it in this book).  The sandbox prevents the code from writing to the hard disk, which prevents writing even simple files such as user settings.  To allow Web based code a way to store moderate size files, the .Net Framework provides Isolated Security.  This presentation describes Isolated Security and includes code that gives a quick demonstration of how it works.

Building on the .Net Framework: Creating WinForms Applications

The .Net framework is a starting point that can and must be built upon to create a supportable, maintainable, high quality business application.  This presentation discusses a framework built upon .Net for creating great business applications.

Generating the .Net Business and Data Layers

The n-tier application design paradigm produces a system with both flexibility and robustness. Its significant advantages over the data-centric approach include consistent application of business rules, scalability, and maintainability.

However, creating the business and data layers of an application require that a substantial amount of work be devoted to creating repetitive code for each object. This presentation discusses approaches to automatically generating business and data layers to relive the programmers of most of the effort involved. It highlights DeKlarit 2.2, which is a product that can generate a substantial part of both layers. Other products, commercial, freeware, and open source, are also discussed.

Generating the .Net Business and Data Layers with Deklarit

Code samples generated during the presentation to the VB Pro User Group, October 2, 2003

.Net Programmatic Access to SQL Server 2000 XML

SQL Server 2000 has powerful features that allow programs to retrieve data as XML.  Microsoft has distributed updates to the base SQL Server 2000 in the form of Web Releases and now the Web Services Toolkit.  This presentation teaches you about SQL Server XML how it works, and how to access it's features from .Net programs.  Examples are given in VB.Net.   Originally presented to the Boston .Net User Group, April 2003

.Net Programmatic Access to SQL Server 2000 XML Slides

SQL XML Example Programs Code Download

User-Defined Functions - The Whole Story

This is an introduction to SQL Server 2000 User-Defined Functions. Slides and presentation scripts are available.

This presentation has been superseded by this one!

Programming SQL Server 2000 XML  

Originally presented to VB Pro User Group  August, 2002

This presentation is based on Chapter 13 and Appendix C of SQL Server 2000 XML Distilled.  It covers programmatic access to SQL XML in VB.Net and Visual Basic 6.

Programming SQL Server 2000 XML Slides.    The example code is from the download for the book, which can be retrieved by clicking SQL Server 2000 XML Distilled example files.


Writing Code to Write Your Data Services Layer

Originally presented to VB Pro User Group December, 2002

The n-Tier architecture is a main stay of modern web and client-server computing, typified by Microsoft's DNA and .Net. The Data Services Layer (DSL) provides the lowest layer, the interface to the database. While some developers use ADO coding to merge the DSL with higher layers, this tendency can and should be avoided. Instead, a robust DSL can be created by the developer by writing a relatively small program or through purchase of a package that does the job. This presentation discusses methods for writing the DSL through code. It demonstrates the importance of using an ADO interface to stored procedures for Insert, Update, Select and Delete operations. It goes on to show how to use the SQL-DOM object library for easy access to the necessary metadata needed to create the DSL. Finally, aspects of customizing the DSL to take advantage of SQL Server 2000 features such as XML, computed fields and multi-byte character data types.

Writing Code to Write Your Data Services Layer Slides 

Download the sample code.

Protect Your Web Site From the Nimbda Virus

Originally Presented to VB Pro User Group October 2001

This presentation is based on the article Protecting Your IIS Server and Web Application

Add a Scripting Engine to Your VB Project with SAX Basic

Originally presented to VB Pro User Group April 2001

Adding a scripting engine to an application can vastly increase it's power.  You give it the power to run code from a text file and to use the application objects that already exist.  SAX Basic is a powerful scripting language that is easy to implement.  This presentation demonstrated how to enhance a Visual Basic application with the SAX Basic control.

Add a Scripting engine to your VB Project Slides 


information about novick software site

Personal Blog


New Tips:

Use dsinit to set the SQL Server instance for Windows Azure dev storage


Nov 7, '12
Loser: DB

Full Schedule



Available Now

User-Defined Functions

Get it wtih the Bonus 100 UDF Library

Latest News

Novick Software Celebrates 10 Years in Business