Here are our SQL Server development tutorials.
Change Excel Delimiter |
|
![]() |
Filmed: 8/16/2014Length: 00:04:40 minutesHere I'm going to show you how to changed the delimiter when you output Excel data to a CSV. By default you can only use a comma as a delimiter, and changing it isn't obvious. This isn't the kind of thing that comes in handy very often, but when it does you'll love knowing this trick.
Click here to watch the video! |
Intro to ASP.NET |
|
![]() |
Filmed: 9/3/2009Length: 31:21 minutesIntro to ASP.NET This is a decent intro to ASP.NET. Personally I don't think it's the best one you'll ever see, but it's ok. You'll see a pretty good intro to getting started writing pages in .NET and you'll get up and running on a couple easy data-driven pages.
Click here to watch the video! |
Check if File Exists |
|
![]() |
Filmed: 1/10/2010Length: 3:04 minutesInspired by a user question I decided to make a quick vid on how to use a script task to check that a file exists. No frills in this one, just a quick walkthrough of the code.
Click here to watch the video! |
Clean Package Design |
|
![]() |
Filmed: 1/27/2010Length: 16:37 minutesThis is a nice little primer on designing clean packages that are easier to support. Get rid of the sea of arrows that afflict your processes.
Click here to watch the video! |
Commenting Tribal Knowledge in SSIS Packages |
|
![]() |
Filmed: 9/21/2008Length: 29:24 minutesThere is a lot of tribal knowledge that accumulates in any organization. Here I discuss some ways to document your SSIS packages so you can start to record some of this information. Your packages will be more supportable, easier to update, and you’ll take hours or sometimes days off of a re-design or support effort. You won’t be sorry you started doing this.
Click here to watch the video! |
Connection strings in Package Config Files |
|
![]() |
Filmed: 6/24/2008Length: 7:45 minutesHere I show you how to put your data source connection string inside a package configuration XML file. This was inspired by a forum post by a user so I decided to make a video for him.
Click here to watch the video! |
Creating Files with ForEach Loop |
|
![]() |
Filmed: 6/25/2008Length: 8:29 minutesHere I take the intro one step further and show you how to create multiple txt files based off of a looping variable in the ForEach loop container. This is a very common task and I see this question quite a bit in the forums, so I documented it.
Click here to watch the video! |
Dealing with Sql_variant in SSIS |
|
![]() |
Filmed: 2/14/2012Length: 7:41 minutesEvery now and then you come across something you don't want to deal with that you're forced to handle in your SSIS packages. Here I'll discuss techniques for handling the Sql_variant data type in your packages so your data loads properly.
Click here to watch the video! |
Deploy Packages |
|
![]() |
Filmed: 8/9/2009Length: 30:21 minutesJen and I sit up very late one night and discuss how do deploy SSIS packages. If you don’t know anything at all about deploying packages or just want to learn a couple tricks, then you’ll love this. Plus we’re tired enough to goof around a bit.
Click here to watch the video! |
Derived Columns |
|
![]() |
Filmed: 5/22/2008Length: 13:06 minutesHere I show you how to work with derived columns in SSIS and use it to not only marry columns, but also troubleshoot data flows. This is a nice intro to this versatile transform.
Click here to watch the video! |
Execute SQL Task with Parameters |
|
![]() |
Filmed: 5/20/2008Length: 7:56 minutesThis video discusses how to pass parameters to queries and SPs inside the Execute SQL Task. It doesn’t teach the basics of the task. It assumes you already know how to use it. This video is only concerned with passing parameters.
Click here to watch the video! |
Forcing Package Failures |
|
![]() |
Filmed: 6/27/2008Length: 13:20 minutesThis one was by user request to show how you can compare the counts of 2 tables and use it to force the package to fail if the counts don’t match. This comes in handy when comparing the counts of the source and destination tables after your load. The scenario is specific but can be modified to anything you like.
Click here to watch the video! |
Ground Zero SSIS: Class 1 |
|
![]() |
Filmed: 1/21/2010Length: 1:01:53 minutesThis is the 1st class I'm teaching at the NTSSUG for ground zero SSIS. I hope to have 6 in all, but it may get stretched out further.
Click here to watch the video! |
Ground Zero SSIS: Class 2 |
|
![]() |
Filmed: 3/18/2010Length: 59:10 minutesIn this 2nd class we discuss how to decide whether you should architect your table loads in single or multiple packages. We also start on file loads.
Click here to watch the video! |
Ground Zero SSIS: Class 3 |
|
![]() |
Filmed: 4/15/2010Length: 1:10:24 minutesHere in another live presentation to NTSSUG we discuss where to hold your query inside your packages, as well as get into flatfile error handling.
Click here to watch the video! |
Introduction to ForEach Loops |
|
![]() |
Filmed: 6/23/2008Length: 11:07 minutesHere I show you the basics of how to work with ForEach loops. Good stuff.
Click here to watch the video! |
Introduction to Sequence Containers |
|
![]() |
Filmed: 6/25/2008Length: 6:29 minutesThis video takes a look at the basics of using the Sequence Container in SSIS. There’s not a lot to it, but it’s a good intro if you don’t know what it is.
Click here to watch the video! |
MultiFlatFile Connection Manager |
|
![]() |
Filmed: 5/20/2008Length: 6:12 minutesHere I talk about how to use the multiflatfile connection manager in SSIS to loop through flatfiles.
Click here to watch the video! |
Row Count Transform |
|
![]() |
Filmed: 5/22/2008Length: 11:05 minutesHere I discuss how to use the row count transform in SSIS and give you some good advice for naming and working with the variable associated with it.
Click here to watch the video! |
SSIS Basics |
|
![]() |
Filmed: 4/23/2009Length: 1:06:23 minutesThis is a live presentation I gave recently. Here is a bare bones bottom of the barrel discussion on SSIS. This is for complete beginners. I’m explaining in this session, the simplest of basics on SSIS and BIDS. I give a couple of basics demos. This is the beginning of what I’ll build on in the next couple sessions as we get deeper into the specifics of this cool product. So if you know absolutely nothing about SSIS then this is the place for you.
Click here to watch the video! |
SSIS Basics 2: Flatfile Olympics |
|
![]() |
Filmed: 11/4/2008Length: 1:02:15 minutesHere we’re just going to jump into SSIS and do some real practical work. We’re going to learn all about taking things to/from multiple files. This is not to be missed because there are some really good concepts here that will carry over to many other tasks in SSIS. I specifically chose these operations because they teach such a wide variety of skills. So come learn how to get a gold medal in flatfiles.
Click here to watch the video! |
SSIS Data Cleansing |
|
![]() |
Filmed: 4/19/2008Length: 33:58 minutesFix data errors with derived cols and conditional split transformations.
Click here to watch the video! |
SSIS text file errors |
|
![]() |
Filmed: 4/19/2008Length: 7:47 minutesDealing with SSIS txt file errors. You will learn how to properly redirect outputs to maximize your scrubbing efforts.
Click here to watch the video! |
SSIS Using Variables in Script Tasks |
|
![]() |
Filmed: 5/21/2008Length: 7:11 minutesHere I talk about how to setup the script task to work with variables, and how to access them through code once the script can see them.
Click here to watch the video! |
SSIS Variable Scope |
|
![]() |
Filmed: 5/21/2008Length: 4:36 minutesLearn how SSIS scopes variables. It’s not a complicated topic, but worth covering.
Click here to watch the video! |
Troubleshooting Simple Flatfile Load Errors |
|
![]() |
Filmed: 9/7/2009Length: 11:23 minutesIn this video I put together a small SSIS flatfile-to-SQL package, and troubleshoot a couple of errors.
Click here to watch the video! |
Beginning Execution Plans |
|
![]() |
Filmed: 2/3/2010Length: 11:03 minutesHere's a level zero introduction to tuning queries. I go over execution plans, sp_help, and clustered primary key indexes.
Click here to watch the video! |
Best Habit for Coders |
|
![]() |
Filmed: 1/1/2012Length: 5:02 minutesThere's a step you can make in your code to improve it many times over. It's an easy step to take, but it can make all the difference. You shouldn't overlook this step so come learn how to make all your code tons better.
Click here to watch the video! |
Designing Efficient Functions |
|
![]() |
Filmed: 12/28/2009Length: 11:40 minutesHere I get on my cert soapbox again. I was going through a practice cert exam and came across an answer to a question that could use a major improvement. I made the improvement and here I show you what and why.
Click here to watch the video! |
Grouping Sets |
|
![]() |
Filmed: 8/20/2009Length: 17:32 minutesHere Jen and I go over grouping sets the only way we can. I hope you guys enjoy us late at night.
Click here to watch the video! |
Insert Into vs. Select Into |
|
![]() |
Filmed: 7/14/2011Length: 13:01 minutesKnowing how and when to use Insert Into or Select Into can quite often make or break your load process. Here I show you how to tell the difference between them and what their effects are.
Click here to watch the video! |
Insert Non-duplicate Rows |
|
![]() |
Filmed: 9/3/2009Length: 11:53 minutesHere we work our way through a coding scenario—inserting rows—that should illustrate the process of solving a problem from the simplest case to your intended result.
Click here to watch the video! |
Optimize Query by Intervals |
|
![]() |
Filmed: 12/1/2009Length: 14:35 minutesIn this vid, I walk you through tuning a query full of date manipulation (which is performance death). I show you how to free the functions, free the optimizer, and happify your code...plus we talk a little date math. See the accompanying blog at http://midnightdba.itbookworm.com/midnightdba/blog/post/Optimized-Query-by-Hour2c-Day2c-Week2c-or-Month.aspx
Click here to watch the video! |
OR is bad, IF is good |
|
![]() |
Filmed: 12/1/2009Length: 3:34 minutesHere I tell you about a common mistake - using OR instead of IF – and show you that IF is better.
Click here to watch the video! |
Querying Dev Metadata |
|
![]() |
Filmed: 12/31/2011Length: 6:33 minutesSometimes you need to get info on objects you've created. Here you can see how you can query for this info, and even learn a cool trick for greatly simplifying the process.
Click here to watch the video! |
Relational Division |
|
![]() |
Filmed: 4/9/2009Length: 19:41 minutesHere we discuss relational division, the counterpart to relational multiplication (cross joins). We’ll hit a couple of examples, using subqueries to implement two different kinds of set division.
Click here to watch the video! |
Relational Multiplication |
|
![]() |
Filmed: 4/13/2009Length: 10:51 minutesHere’s a quick talk on relational multiplication that gets us to take a closer look at what our joins are really doing.
Click here to watch the video! |
SQLSaturday 35: 1 of 3 |
|
![]() |
Filmed: 5/31/2010Length: 15:00 minutesCome see our first LIVE taping ever. We have a good time, give away some great prizes and even manage to get a little techie.
Click here to watch the video! |
SQLSaturday 35: 2 of 3 |
|
![]() |
Filmed: 5/31/2010Length: 15:07 minutesPart 2 of SQLSaturday 35.
Click here to watch the video! |
SQLSaturday 35: 3 of 3 |
|
![]() |
Filmed: 5/31/2010Length: 11:13 minutesPart 3 of SQLSaturday 35.
Click here to watch the video! |
T-SQL: CASE Statement |
|
![]() |
Filmed: 9/7/2009Length: 11:44 minutesHere’s an intro to case statements, in the form of a conversation with Sean. I cover simple case and searched case, and the special use of null. BTW, I really like this video, and I don’t say that very often.
Click here to watch the video! |
T-SQL: Find Last Day of Month |
|
![]() |
Filmed: 8/9/2009Length: 4:16 minutesFollow Jen as she steps you through 3 progressively elegant solutions for finding the last day of the month.
Click here to watch the video! |
T-SQL: Over() and Partition By |
|
![]() |
Filmed: 8/19/2009Length: 4:16 minutesShow how to use OVER and PARTITION BY to get groups of data with aggregation.
Click here to watch the video! |
T-SQL: The Almost Question |
|
![]() |
Filmed: 3/2/2010Length: 14:58 minutesWe need a query to get rows that fulfill *almost all* of a set of requirements. How do we work that out? Watch this video, and I'll tell you. Related blog: http://midnightdba.itbookworm.com/midnightdba/blog/ Download the code: http://midnightdba.itbookworm.com/midnightdba/PublicDownload/Almost.txt
Click here to watch the video! |
TSQL: Grouping Basics |
|
![]() |
Filmed: 9/7/2009Length: 10:01 minutesHere’s a ground level intro to grouping, with a lovely 80s arcade theme. This is a reshoot of the original Grouping Basics video (now retired).
Click here to watch the video! |
UNION and UNION ALL |
|
![]() |
Filmed: 7/29/2011Length: 5:23 minutesHere I talk about UNION and UNION ALL, and the different rules about using ORDER BY, GROUP BY, SELECT INTO, and INSERT INTO with a UNION/UNION ALL query.
Click here to watch the video! |
What is a Stored Procedure |
|
![]() |
Filmed: 3/11/2014Length: 00:10:18 minutesHere Jen explains what a stored procedure is, and how to create a basic one with no parameters. She also compares it with other objects stored in the DB.
Click here to watch the video! |
I do all my videos with Camtasia Studio. It's the bomb.