William Vaughn


William (Bill) Vaughn is an industry-recognized author, mentor, trainer, and subject-matter expert on Visual Studio, SQL Server, and ADO.NET. He’s worked in the computer industry for more than 30 years, including 14 years at Microsoft. He's available for mentoring and custom training (see Beta V Corporation or William Vaughn's Musings for more information). He’s written seven editions of the Hitchhiker’s Guide to Visual Basic and SQL Server (Microsoft Press)—the 7th edition is on Visual Studio—and three editions of ADO.NET and ADO Examples and Best Practices (Apress). Bill and Peter Blackburn also wrote the best-selling Hitchhiker’s Guide to SQL Server 2000 Reporting Services (Addison-Wesley Professional). More recently, he’s written The Owl Wrangler and Guardians of the Sacred Seven (Beta V Corporation), the first two books in his fantasy fiction trilogy.

Mapping T-SQL Data Types to SqlTypes
Use this short list to see how you match T-SQL data types to data types that the SqlClient.SqlTypes namespace exposes.
Beyond T-SQL: Digging into the CLR
Creating this sample credit card encryption application can teach you a lot about the realities of building, testing, and deploying CLR-based stored procedures--and about how the CLR provides functionality that T-SQL can't.
T-SQL and SQL CLR Debugging
Learn the magic key for enabling cross-process debugging.
Developing CLR-Based Stored Procedures 2
See how Common Language Runtime (CLR) stored procedures work and how they fit into the larger scheme of a high-performance database system by walking through a CLR assembly project that captures and encrypts credit card information.
TIP: Managing Stored Procedures with Multiplication
Sometimes, T-SQL stored procedures are too large to manage. Often, using multiple shorter stored procedures is better than using one long stored procedure.
The .NET Connection Pool Lifeguard 6
ADO.NET connection pooling improves the performance of .NET applications, but a busy application can sometimes accumulate connections, overflowing the pool and sinking performance. Here's how you can keep a watchful eye on your connection pools.
Swimming in the .NET Connection Pool 7
If you’re diving into ADO.NET, you might be wondering how you can use connection pooling to improve your applications’ performance. Here are some basic connection-pooling concepts you’ll need to know when you’re ready to get your feet wet.
Using T-SQL to Avoid Unwanted NULLs
Here's how to use the IsNULL() function in T-SQL to avoid returning NULL values from your queries.
Much ADO About Nothing 2
Developers need to know how to test for and set NULL values in their applications. Here are some tried-and-true techniques you can use in Visual Basic and Visual Basic .NET.
Fast Answers 1
When you write a query, sometimes you want only a yes or no answer. In these cases, instead of using SELECT to return a rowset, you can execute an ADO.NET action command to get the specific information you need quickly.
Q&As from William Vaughn's Feb. 5 ADO.NET Webinar
Read answers to questions from the SQL Server Magazine LIVE! Webinar "An Introduction to ADO.NET for ADO Classic Developers."
Ride the Wave with ADO and ADO.NET
Prepare yourself for a sea of change by upgrading your SQL Server skills, and become familiar with .NET technology even if you don't plan to use it.
Managing Your MSDE Database 1
Use SQL-DMO and other techniques to keep your application and users working effectively long after your MSDE installation is complete.
Managing Extended Properties 1
Use SQL Server 2000's sql_variant data type to add user-defined extended properties to your data, tables, columns, parameters, and other objects.
Accessing SQL Server Named Parameters with ADO 2.6 2
Learn how and why to use named parameters when you use ADO 2.6 to execute SQL Server stored procedures.

Digital Magazine Archives

Browse back issues of SQL Server Pro, from January 2007 through the last issue published in April 2014. Find the back issues here.


From the Blogs
Sep 29, 2015

Data Breaches and Insider Threats

I’ll sound a bit like Captain Obvious for bringing this up, but it’s important to remember that security encompasses a lot more than protecting sensitive data from the specter of outsider threats like hackers. Properly implemented security policies also account for threat-models that include insiders – or people within your organization....More
Sep 15, 2015

Setting Up Additional Checks to Ensure Regular Transaction Log Backups 1

There’s simply no way to overstate the importance of regular Transaction Log Backups. Not only do they help protect from disaster, but regular execution of T-Log backups on Full (and Bulk-Logged) Recovery databases helps keep thing “fit and trim”. Most of the time, setting up a Notification for when T-Log Backup Jobs fail is enough to let you know when something goes wrong....More
Sep 1, 2015

Stop Using INFORMATION_SCHEMA and SysObjects for Exists Checks 3

Code like this isn’t optimal: IF EXISTS(SELECT * FROM sys.objects WHERE name = N'TableToDrop' AND type = 'U')         DROP TABLE TableToDrop; GO Neither is this: IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TableToDrop')         DROP TABLE TableToDrop; GO Yet, I see both of those used all of the time – over and over again. Even though it’s 2015.  ...More
SQL Server Pro Forums

Get answers to questions, share tips, and engage with the SQL Server community in our Forums.

Sponsored Introduction Continue on to (or wait seconds) ×