LessThanDot Site Logo

LessThanDot

A decade of helpful technical content

This is an archive of the posts published to LessThanDot from 2008 to 2018, over a decade of useful content. While we're no longer adding new content, we still receive a lot of visitors and wanted to make sure the content didn't disappear forever.

SQL Saturday #206 Madison 2013

Last year, I was part of the team that brought the first SQL Saturday to Wisconsin. It was such a smashing success, we’re busy organizing the second – SQL Saturday #206 in Madison, WI on Saturday, April 6, 2013! What is a SQL Saturday? It’s a day of free SQL Server training! It is for the community and by the community – all the organizers, speakers, and helpers are volunteers. Sessions will be held for developers and DBAs, analysts and programmers; from novice users to experts in the field.

Read More...

Driving Predictive Analytics

Remember this article, “Comparing the Chicago Highway System to your Disaster/Recovery”?  Well, today, as with most days that I drive to the office or a client, the drive was lengthy and I started to compare the complete system of driving to a topic. This time, instead of DR, I was thinking about predictive analytics. To this day, I’ve been fortunate and not been in a major accident. In fact, the only accident I was in was a bump on the bumper that didn’t warrant much more than an, “I’m sorry”.

Read More...

Do not disable foreign keys

Foreign keys and primary keys play a crucial part in all relational databases – referential integrity. Referential integrity is essentially the glue that holds together one or more columns between two or more tables. This glue dictates if a value is found in one table, it can then exist in another; primary to foreign relationships. With referential integrity come more complex situations for manipulating data. This is seen primarily with deletions, although it’s just as prevalent in updates and insertions.

Read More...

Script to Populate Date Dimension, without Using a Cursor

Most of the scripts I’ve used to populate date dimension uses a cursor. Since data is loaded only once to a date dimension in the ETL life cycle, using a cursor isn’t a sin. Still, when I was reviewing my own code the other day, I wanted to get rid of the cursor. Why not, Right? Here is a script that uses CTE and Window Functions to populate the date dimension.

Read More...

SQLUG.be meeting: Automating SSRS Deployments

Next Tuesday – 29 januari 2013 – my colleague Valentino (blog | twitter) and I will give two sessions on the topic of Reporting Services deployments at the Belgian SQL Server User Group. In contrast with SSIS and SSAS, there isn't much available to automate this, so we'll be spending some time exploring how this gap can be crossed. Each of us will present a different method. Mine is about MSBUILD, an idea presented to my Jamie Thomson (blog | twitter), who pointed me to one of his blog posts: Deploying Reporting Services reports using msbuild.

Read More...

Database Designing With Performance In Mind

Database design is the foundation on which we can build a successful initiative for maintenance and scalability. Administrators have the ability to maintain indexing, statistics, integrity checks and so on, but if a database is designed extremely poorly, even the tasks of indexing or maintaining statistics accurately, becomes very difficult. In some cases, the database is all but lost and a redesign initiative is needed, costly massive expenses. When considering a database design, thinking of performance such as, how would this be indexed, in mind.

Read More...

PM vs. BA

How many projects have you worked on that were run by a dedicated project manager (PM)? How many were run by a business analyst (BA)? Was there a notable difference in how they were planned, scheduled and executed? For that matter, does it make a difference whether a project is run by a business analyst or a dedicated project manager? When I was a developer, I worked on projects in both scenarios.

Read More...

Why avoiding multiple code blocks in a Stored Procedure

It was a little remark from Bob Beauchemin (B|T) during the Belgian SQL Server Days that started me writing this post. Showing cached Execution Plans In this post I’m going to use information from the following Dynamic Management Views and Functions to show some information about the cached Execution Plans of the queries used in this post: sys.dm_exec_cached_plans shows types, usage, size… of the Execution Plans; sys.dm_exec_sql_text shows the actual code of the query; sys.

Read More...

The OLE DB Source and the Oracle Date Literal

Recently I was developing an SSIS package in BIDS 2008R2 which was part of a Oracle to SQL Server migration; my favorite kind of migration. This package had a very simple SQL select statement in the OLE DB source using the Oracle OLE DB provider (slightly altered to protect the innocent): SELECT columnA ,columnB ,42 AS Code ,DATE'1900-01-01' FROM user.myTable mt WHERE mt.Status IN (10,20,30) AND mt.TransactionDate > DATE'2012-01-01'; The preview in the OLE DB worked flawlessly and I finished constructing my data flow.

Read More...

Multidocument updates with MongoDB

This is my fifth MongoDB post, you can find all the MongoDB posts here /index.php/All/mongodb: Today we are going to look at update statements. We looked at it a little already in the Doing UPSERTs in MongoDB post, in this post I want to show you how updates are different from regular SQL. To get started insert this data db.Indexing.insert( { name : "Denis", age : 10 } ) db.Indexing.insert( { name : "

Read More...