Day one for me began with a leisurely breakfast at Top Pot donuts with Jack Corbett, Andy Warren, and Don Gabor. We were joined briefly by Robert Cain, and Greg Larsen. We talked PASS, career development, networking, and various other interesting (perhaps even a few uninteresting) topics. Don’s perspective as a nontechnical person was refreshing, and since we’ve spent a good deal of time recently discussing building a network of contacts, I made a number of mental notes to follow up on for later.
At midday, I attended the chapter leaders’ roundtable meeting. I’m not a group leader, but our chapter president wasn’t able to come to the summit so I sat in for him. Led by MVP Greg Low, this roundtable allowed group leaders to give input on how PASS could help them to grow their groups. A number of good ideas were floated (more on that in a later post), and I was able to meet some more Tweeple for the first time, among them TJay Belt and Tim Ford. Several of us went to lunch afterward at the restaurant in the Sheraton, where I met Michelle Ufford and spent some more time with Andy Leonard. We talked SSIS, compensation, practical jokes, and bacon, but not necessarily in that order.
Don Gabor’s one-hour networking presentation for volunteers was valuable and immediately useful. He gave us some practical ways to meet people, remember names, and maintain good conversations. A couple of practical exercises were included to both demonstrate his logic and to help us meet other people in the session. He offered a longer, $60 two-hour version of this content, but I skipped it to go meet some folks and work on a blog – a good decision, as it turns out, as I was called away by work to address a critical issue.
Walking through the concourse I bumped into MVP trio Geoff Hiten, Ken Simmons, and Jonathan Kehayias, who were in search of sustenance. We picked up Aaron Nelson along the way, and the five of us walked down to the Tap House, a hip restaurant and microbrewery. Good conversation ensued as we discussed previous PASS events and worst practices in SQL Server.
A general reception and dinner was held in the early evening, where we got to see some of the heavy hitters in SQL Server answer difficult questions in the Quiz Bowl. To the surprise of no one, the Tripp/Randall team kicked tail in the contest. I practiced my the lessons learned from Don’s session earlier today and made cold introductions to several people. I stopped to talk with the virtual BI chapter folks and tentatively booked a webcast speaking opportunity for later this month or early next.
The SQL Server Central casino party followed. I’m a sucker for a poker game, especially when it’s with my SSC friends and presents opportunities to meet new SQL Server people. I didn’t win anything, but scored some networking points nonetheless. At the party, several of us got together and elected to find a karaoke joint. After getting lost on the way, we finally arrived at Bush Garden, a small Oriental establishment which was summarily taken over by geeks. We closed the place down after 1:30 (it’s been years since I’ve done that), and after getting lost – again – on the way back, I finally arrived in my room about 2:30am. Expect me to be half-asleep at the opening keynote on Tuesday.
More to come…
For me, today was the start of a six-day SQL Server adventure at the PASS Summit in Seattle. The day started off not so well, with my 2 year old finding – and losing – the digi cam’s memory card, which is apparently obsolete and can’t be replace. Off to an unscheduled trip to Best Buy for a new camera. At Love Field in Dallas, I had a nice long visit with an agent of the TSA, where I was briefed about the proper packing of liquids and was subsequently relieved of some of what I’d packed.
I was able to meet up with my friend and Summit roommate Jack Corbett on the second leg of my flight, and he and I caught up on all things PASS and various other topics. After arriving in Seattle, we met up with Wendy Pastrick and Damon Clark and shared a town car over to the Sheraton.
After dinner, we headed to Zig Zag just down the hill from the hotel and a few hundred yards from the famous Seattle fish market. I met for the first time several SQL Server tweeps I’d never met, including Andy Leonard, Jason Strate, Grant Fritchey, Chris Massey, Colin Stasiuk, Scott Schwartz, and Todd McDermid, and also caught up with Jason Massie and Jessica Moss, among others.
The day’s been a long one, and coupled with the 2-hour time difference and last night’s change back to standard time, my body clock is a wreck. But fatigue bedamned, it’s going to be a great week.
I have a sad story to tell you. Sit down and grab a tissue.
It was 10pm on a cool night in September 2005. Somewhere in Grapevine, Texas, a junior SQL Server professional was sitting alone in a hotel room watching TV. He was tired but not exhausted, having spent all day learning his trade at the Super Bowl of SQL Server conventions, the annual PASS Summit. Although he had met a few people, he didn’t really get to know them or try to meet up with anyone the normal conference hours. He attended a couple of parties, but left early and didn’t get beyond chit-chat with others.
Across town, much fun was being had. Stories were told, laughs were shared, and personalities bonded. People went out on a limb and introduced themselves to others they’d never met. Some people would literally change the trajectories of their careers through the relationships that were built at this conference. Sadly, the guy in the hotel across town is missing out on all of this.
As the conference wore on, he saw all those people chatting between sessions and at dinner, laughing and getting to know each other, and secretly he wished to be connected to some other professionals. You see, since he was the only SQL Server professional at his place of employment, he didn’t have a lot of opportunities to talk shop in person with others. He longed for what they had, but couldn’t find the initiative to start up meaningful conversations with others.
As the conference wrapped up at the end of the week, he was appreciative of the technical knowledge he’d be taking home, but couldn’t stop dwelling on the fact that he’d done little networking at this event. It was almost as if he’d missed out on half of the conference.
The man goes back to his job and reads the blogs of those who also attended the summit. He begins to think, “I’m no different than those people, I just need to be more assertive.” He realizes that networking is as big a part of career success as is technical knowledge, and that it’s easier than he’s made it out to be in his mind. He vows then never to again sit on the sidelines; he promises to himself that he will take full advantage of these functions by getting involved in related events outside the scope of the conference.
The story does have a happy ending. “That guy” was me, and I did indeed waste a huge networking opportunity four short years ago. With that lesson in mind, I’ve sworn off being the wallflower and now take the initiative to be more assertive at each technical event I attend. Though I don’t set specific numeric goals, I make it a primary mission to get connected with people, to learn what they do and to share a little about what I do. I’ve come to learn that getting to know fellow SQL Server professionals at technical conferences is at least as important – and quite possibly even more so – as the technical content. I can tell you firsthand that the relationships I’ve built since then have led to many opportunities in my career I wouldn’t have otherwise found, and I’ve built some friendships along the way as well.
So the takeaway is, don’t be me – at least the Me In 2005. Don’t be lonely hotel room guy: use your room for one thing – sleep – and spend the time with others getting to know them. At next week’s PASS Summit, there are official events scheduled for every night of the conference, along with numerous unofficial events. There are vendor breakfast presentations, lunchtime meet-and-greets, and various other opportunities to press flesh and get to know your fellow SQL Server professionals. One of the people you meet could be your next boss, employee, business partner, client, or even a good friend.
In the first installment of this discussion, I talked about the challenges facing database professionals and others with respect to healthcare data integration. In this post I’ll talk about the first part of the problem: a lack of adoption of the required technologies and/or methodologies. I’ll also describe when an electronic health record really isn’t.
We’ve all seen it; it is still the de facto standard of medical documentation. You sit in the reception area and the nurse or clerk gathers the initial information: demographic information to confirm your identity, insurance information, the reason for your visit, and metrics such as your blood pressure, pulse, or weight. He also asks you about any medications you’re taking and any other physicians you are currently seeing, which you provide from memory as best you can. This information is written down on your chart, a collection of dead trees that is then hung on the door. You wait for a while and the doctor arrives, writing still more information on your ever-growing paper chart. She writes your prescriptions on yet another piece of paper. You’re then dismissed with a stack of papers – your prescriptions, a carbon of your hand-written visit record and diagnosis, a scribbled referral to a specialist, and a business-card size reminder for your next appointment.
Several concerns come to mind in this scenario. If the patient forgets to remind the physician about another medication she’s taking, the doctor fails to note a stated medical condition, if a portion of the paper record is lost or destroyed (or simply illegible), or if a required piece of information is not collected, the system can break down. Further, recording information in this manner will restrict significantly the ability to index, search, aggregate, or mine the data. What if the provider wants to find out how many patients required hospitalization after presenting with a particular symptom? Perhaps ER staff need to know if an unconscious patient has a particular allergy or medical condition? Somebody’s going to be surfing through paperwork to answer these questions. The most frightening part about that is that those answers are often needed immediately, and no dead-tree storage system can provide that.
What’s The Problem?
The problem is not a technological one, nor is it new. So why does it still exist? Simply put, this archaic way of storing and accessing healthcare records usually works, and it has for decades. Patients usually receive the care they need, providers almost always get paid, and most of the time the records workflow does not negatively impact patient safety.
Why Change?
I’ve encountered a small number of physicians and other healthcare professionals who prefer to keep things the way they are. Paper records work fine, so why change? On the other side of the fence are those who see value in collecting and analyzing patient data, individually and in the aggregate, to improve patient care and overall process flow. Support of EHR implementation is especially prevalent in the under-40 crowd, though there are exceptions that transcend every age demographic.
The chief arguments against implementing an EHR system are that 1) it’s expensive, and 2) it won’t bring much additional value. The first point is true; EHR systems don’t come cheaply, and usually require significant soft costs as well (staff retraining and system upkeep among them). To the second argument, there is rarely an immediate return on investment, but the long-term return can be significant. With a fully electronic record system, staffing needs may be reduced because sending a patient’s health records to another provider requires only a few clicks and keystrokes rather than the time-consuming manual retrieval of paper and film. Billing and collections can be streamlined by eliminating multiple points of data entry, further reducing workload and the potential for human error. Patient safety is enhanced by allowing the rapid analysis of a patient’s data when making treatment or medication decisions.
Electronic Health Records that really aren’t
In my experience, there are few shops that are fully reliant on paper. Healthcare providers often use a hybrid approach, tracking information such as patient demographics and scheduling with a modern database application but retaining the paper-based workflow of documenting diagnoses, procedures, and prescriptions. Others modify this workflow and scan in the paper records after the fact, sometimes calling this an EHR. Paper-to-electronic scanning solves a few of the problems (storage space and portability among them), but other challenges still remain. To research a patient’s treatment history, someone still has to place eyes on each document in the person’s record, and it’s almost impossible to aggregate this information. Even though these records are stored in an electronic form, they do NOT represent a true EHR system. Scanning of hand-written paper records is a half-step toward the solution, but doesn’t cure the problems at hand.
Government Intervention
Finally realizing the importance of electronic health records, the federal government has mandated and is in the process of defining rules which will govern EHR adoption and usage. Although they won’t be forced to use a true EHR system, providers will see their payments from Medicare slashed significantly if they fail to comply. Further, there are significant short-term financial incentives for providers who implement EHR systems by the 2011 deadline.
The Future
In the next 20 years, we’ll see the use of paper healthcare documentation come to an end; shops that work on paper will be as common as crank-handle cash registers. Government regulations and consumer demand will bring on a level of data availability and transparency not currently available in healthcare data; patients will have immediate, on-demand access to their own health records, and more importantly, will have the ability to research aggregated healthcare data to help take charge of their own treatment and evaluate the quality of their providers. Further, healthcare outlets will be required to share information with one another for the benefit of all patients (I’ll talk more about sharing data in the future).
To Be Continued
In my next post in this series, I’ll discuss the sharing of healthcare data, including the challenges it presents and the possibilities it brings along.
Anyone who has an Internet connection has kept up with PASS-related news during the past couple of weeks is keenly aware of the fallout surrounding this year’s Board of Directors election. I’ve been associated with PASS for a number of years now (though admittedly I wasn’t as connected or involved as I am now), but I can’t recall there ever having been a BOD election that was more talked-about than this one.
Two Problems
At the root of the controversy was one big issue, or if you think like I do, there were actually two. The first and most forefront was the selection by the nomination committee of Matt Morollo, a media executive with a strong record of success but zero experience with PASS and seemingly little knowledge of the membership. Much of the discussion occurred in the comments of one of Brent Ozar’s blog posts in which he published an interview of this candidate (as he did for the other candidates as well). Matt’s responses to the interview questions led many to believe that he was not in touch with the mission of PASS; he referred to PASS numerous times as a media organization but avoided addressing the topic of new media, Web 2.0, etc. In the flurry of comments that followed, concerns were raised, positions defended, a few accusations were thrown, and the collective blood pressure of our organization spiked for a while.
The other issue that bothered me was the fact that there were 3 board positions but only 4 candidates offered up for the general election. I’m sorry, but when those numbers are presented, I can’t help but think of musical chairs. The small number of final candidates coupled with the lack of transparency in the whole process was, for me, more bothersome than the introduction of a candidate who appears to be an outsider.
The Results
In the end, the three candidates selected for the board were new directors Brian Moran and Jeremiah Peschka, and current board member Tom LaRock. I offer congratulations to the three who were selected, and I tip my hat to Matt Morollo, who underwent a tough vetting process and even tougher trial-by-mob on Brent’s blog. Whether you supported Matt or not, you have to give it to the guy for hanging in there.
I will say for the record that I don’t have a problem bringing in someone with fresh ideas to the board. But to do so at the expense of other qualified candidates with a long history of service to the community is a poor decision, in my opinion. A lot of folks, myself included, have expressed concern about the exclusion of Tim Ford from the final pool of candidates; although he admitted that he had not done well on the interview portion, it’s my opinion that the nominating committee put too much weight on that interview without accounting for his other community contributions and successes.
There were a lot of peripheral discussions on the topic during and immediately after the election, and I won’t begin to try to summarize all of them. I will point out a blog post by Kevin Kline, who chaired this year’s nomination committee; in his post, he acknowledged the controversy around the process and this year’s nominees, explained some of the current processes and goals of the committee, and offered up the opportunity for the community to have their voice heard on this topic. This well-worded and thoughtful response did not attempt to take the side of any person or group, but gently offered some insight into the establishment, and expressed a willingness by the leadership to change the structure if the community so chooses.
I’m Not Without Blame
Now here’s the part where I admit complicity in the problem. I’ve complained about both the lack of transparency and the nomination process as a whole, yet, I must confess that this year’s election is the first time that I’ve paid significant attention to these goings-on. The only candidate from last year’s election that I could name is Andy Warren, and that’s only because he and I have had a number of conversations about his work at PASS and the possibility of my candidacy for a board position in the future. As a voting member with an equal voice, I have some ownership in any problems that arise, and if there’s something I don’t like, it’s up to me to either bite my lip and support it or actively work to change it. I consider this to be a learning experience for me, and I hereby commit to increase my involvement in PASS and will do what I can to improve the effectiveness of this organization and its impact on the SQL Server community.
The Upside
If there is some good that has come from all of this controversy and chatter, it’s that people are actually talking about the board of directors and the organization as a whole. Those who have followed the conversations know a great deal more about PASS and its inner workings than they did two weeks ago, and my hope is that this heightened interest will carry on for years to come.
If you meet me at PASS, you can win prizes!
OK, so maybe there’s a little more to it than that. Quest Software is hosting a SQL Bingo game, where players will meet various “squares” and log each person’s code word onto a randomly generated bingo sheet. There will be daily drawings for prizes, and the game, like the smoky bingo halls back home, will get progressively more difficult (one bingo, then double bingo, then a blackout to win) as the week progresses.
The goal, of course, is not really the stuff but the interaction. Anything that helps people to break the ice and get to know other SQL professionals is a good thing in my book. I’m looking forward to participating, and to meeting all of you. See you there!
Last week, I had lunch with an old friend who is, by his own definition, technologically ignorant. While we caught up, he asked me to explain in terms he could understand what I do for a living. I went through one of my spiels (the one usually reserved for relatives who only know that I work “with computers”), delivering a high-level talk about systems integration and ETL and some of the challenges involved in intersystem communications. Since most of my time is spent in the healthcare sector, our discussion wrapped back around to healthcare data integration and the initiatives to integrate personal health data electronically across platforms and providers. My friend, being a non-technologist and an outsider to the healthcare world, asked a revealing question:
“So, you’re just talking about lining up the different fields to make sure that they match? If so, what’s the big deal?”
Alas, if only it was that easy.
There is a great deal of noise surrounding electronic health records right now, and for good reason. Everything is electronic these days: my local grocery outlet can analyze my purchasing history to generate customized coupons at check-out; local law enforcement systems are integrated with auto insurers which allows officers to immediately verify insurance coverage; my local dealership tracks my Explorer’s mileage and, based on my estimated milestones, automatically sends me reminders to change my filters and have my transmission checked. Common sense would dictate that our healthcare systems would have at least as much capability as the local Ford dealer, but in practice it seems that this isn’t the case. A visit to the local clinic often requires that I provide the same information several times at various points of care, and this drill must be repeated at each encounter. My family doctor is unaware of any information gathered or treatment performed by my podiatrist, and vice versa. Further, and most irritating, is that a single doctor visit or trip to the hospital will generate a handful of different bills from numerous entities, which often cross over and bill several times for the same specific procedure.
While it may sound like there’s a real dysfunction with healthcare information systems (HIS), the truth is that the situation is not as bad as it appears. I’ve dealt with some outstanding HIS products, and, while they all have their quirks and shortcomings, many of them are mature and highly stable. In my analysis, there are two key issues that cause the most headaches: lack of adoption and system interoperability, each of which bring along their own problems and opportunities. I’ll discuss each of these in turn in the next 2 posts in this series.
As an aside, it’s clear that the electronic health record challenge is not new. I recently developed a networking friendship with a retired physician who spent several years as a hospital chief of staff, and he tells me that he was providing counsel to EHR vendors almost 25 years ago. Even though the issue of electronic health records spans the generations, it’s still a very exciting time to work in this field because of the challenges and opportunities to be a part of some creative solutions.
In my next post on this topic, I’ll discuss the issue of technology adoption, and talk about when an electronic record really isn’t.
Earlier this week, I delivered a presentation entitled “Deploying Report Builder 2.0 for Self-Service Reporting” as part of the new SQL Lunch series. This was my first presentation for this series, and I was pleasantly surprised with the turnout – thanks to the 110 people who showed up! We did have a technical snafu: apparently the presenter link was mistakenly sent out to some attendees, and we had several dozen people who were authorized as presenters, which caused some problems including a disconnect in the middle of the session. Fortunately, most if not everyone got reconnected quickly and I was able to finish on time without skipping any material. Sadly, the disconnect also shut off the recording, but I’ll consider presenting this session again since we had such a high level of interest.
I’ve found that I learn something new each time I present to a group, and this time was no exception. One of the attendees shared that Report Builder 3.0 is in CTP and available for download. Perhaps I’ll get started on the CTP and give another talk on it around the release of SQL Server 2008 R2. Ping me if you’d be interested in this…
The slide deck from Monday’s presentation is now available on my website.
If you are a blogger and you post product reviews on your blog, you may have to answer to the FTC starting in December. An article in the New York Times earlier this week outlines a new Federal Trade Commission regulation currently under review which, if approved, would tighten the rules of disclosure that must be followed by those who post their opinions about products on their blogs.
The details are incomplete, but early reports include that blog authors who post product reviews on their site must disclose if they have received any gifts (including free products or software) from vendors whose products are reviewed on that blog.
While on the surface this measure of consumer protection may seem like a good idea, it seems to me that it is an unnecessary waste of time and legislative effort. After all, we’re talking about blogs, which represent the opinion of the author. A blog post is a far cry from a story on the evening news, and rarely does a blog claim to be an unbiased source of objective information. I have a hard time seeing the potential for consumer harm here; reasonable people will not read a source that is by definition a biased perspective and expect unbiased facts.
This regulation is likely aimed at the prolific and popular bloggers who have the greatest scope of influence. However, there is a reason those people are popular; if they continually dispensed bad advice (through product reviews or otherwise), they would never have made themselves known. The fact is that bloggers with a lot of followers have achieved their success because they have interesting or useful opinions. To that end, it’s a self-regulating media outlet.
Further, this proposal is a bad idea because it would be expensive to investigate and difficult to enforce. Those responsible for finding violators would have to search through a mountain of data, including tax records (of the blogger as well as the vendor) to prove an undisclosed relationship, and any fines collected from violators would be vastly outweighed by the costs of investigation and eventual litigation.
Would it be an easy task for compensated bloggers to disclose relationships with product vendors? Absolutely. But I don’t think it’s the job of the FTC, or any other government entity for that matter, to police opinions by enforcing that disclosure.
If you are in the Dallas/Ft. Worth area and are interested in SQL Server developer training, there is an opportunity coming up later this month. Mike Hotek is delivering a 4-weekend course on SQL Server development in Ft. Worth. The $25 course fee is an incredible bargain, and having attended one of his business intelligence courses before, I can attest to his effectiveness as an instructor. See the message below for full details, and contact Andy Eggers via e-mail if you’re interested in attending.
Hi Everyone,
We have a SQL Server 2008 Database Developer training class starting on October 24 going through November 21. This class will be on Saturdays only from 8:30 am to 5:00 pm. The Cost of the class is $ 25.00 in cash. If you attend one class or all the classes, the price remains the same. The textbook for the class is MCTS Self-Paced Training Kit (Exam 70-433): Microsoft® SQL Server® 2008 Database Development (Hardcover) approximately $ 44.09 + shipping . Yes, you have to have the book for the class.
ISBN-10: 0735626391
ISBN-13: 9780735626393
Publisher: Microsoft Press
Published May 2009; Hardcover; 456 pages
Amazon link: http://www.amazon.com/gp/help/customer/display.html?ie=UTF8&nodeId=508510
Nerd books link: http://www.nerdbooks.com/isbn/0735626391
Registration: Send email to Andy at aweggers [at] charter.net So I can make an attendance sheet, arrive at Freese and Nichols Corporate Headquarters on the days of the classes and on the first day bring $ 25 in cash and the book. If you have a laptop bring it, so you can take notes and work through some of the exercises. The enrollment fee will be collected upon arrival on the first day. If you miss the first day then I will collect the fee on your first day of attendance.
Course Title: SQL Server 2008 Database Development
Instructor’s Name: Mike Hotek
Mike Hotek website: http://www.mssqlserver.com/
Location: Freese and Nichols Corporate Headquarters
4055 International Plaza
Fort Worth, Texas 76109-4895
We are in the ground floor training room to the left of the guard desk as you enter the buildingLink to Google maps: http://maps.google.com/maps?hl=en&tab=wl
Maximum Cost is $ 25 for the class and $ 40-45 plus shipping for the book.
Class Dates: 10/24 from 8:30 to 5:00 pm
10/31 from 8:30 to 5:00 pm
11/07 from 8:30 to 5:00 pm
11/21/2009 from 8:30 to 5:00 pm
Please forward this email to anyone who can benefit from this training class.
For questions or other concerns, email Andy at aweggers [at] charter.net
So you’ve got some packages that regularly extract data to one or more text files, but you know that from time to time some of the queries will not return any data. However, you find in SSIS that, in a flat file export package, the output file is created regardless of whether any rows are written to the file, and in cases where there are no rows returned from the source, you’ll end up with empty data files in your output directory. Although not a critical failure, having empty output files can be a nuisance, and unfortunately, there aren’t any native settings in the Flat File Destination or the Flat File Connection Manager objects that will clean up empty files. Fortunately, SSIS does provide a combination of other tools that you can use to emulate this behavior.
In our example, I’m going to create a package to extract data from a table using a query for which I know that no rows would be returned. When I connect this data source to a flat file destination and execute the package, I’ll see an empty data file in my export directory. Next, to demonstrate the intended behavior, I’ll add a Row Count transformation to store the number of affected rows in a variable, and create a File System Task object to delete the output file. Finally, I’ll use an expression constraint to only delete the file if the variable attached to the row count is zero.
First, let’s create a test table to query:
USE testdb GO CREATE TABLE invoices ( invoiceid INT IDENTITY ( 1 , 1 ), vendorid INT, invoicedate DATETIME, invoiceamount DECIMAL(10,2)) INSERT invoices VALUES(12, '8/3/2009', 4125.50), (53, '8/13/2009', 1095.25), (46, '8/15/2009', 729.50), (33, '8/23/2009', 3421.50)
Now, I’ll create a basic package that will export to text the invoices for the past 30 days, a reasonable business requirement. Since we don’t currently have any invoices matching that criteria, we’ll end up with an empty output file. The original package is shown below:
Now for the new-and-improved version, I’m going to drop a Row Count transformation into the data flow to save the number of affected rows to a variable:
Finally, I’ll create a File System Task and configure it to delete the output file. To insure that a valid data file is not deleted, I’ll create a precedence constraint using an expression to only execute the delete if the row count variable is equal to 0:
When you execute this package, you’ll see that the File System Task object is executed because there are no rows matching our query. You can test the package by inserting another row into the database that will be returned by the query, and you’ll see that the data file is exported but not deleted.
I’ve attached the before and after SSIS packages if you’d like to take it for a test drive. Enjoy!
It's been well-documented through myriad blogs and forum posts about the case sensitivity of the comparisons in the SSIS lookup transformation (a good review can be found here). In a nutshell, a comparison using the lookup transformation is case sensitive when using the default setting of Full Cache, even if the values in the database are stored in a case insensitive collation. This happens because, in Full Cache mode, the comparison is done by the SSIS engine rather than the database engine, the former of which differentiates between "Value", "VALUE", and "VaLuE" regardless of the collation setting. But did you know that this transformation is space sensitive as well? Consider the following T-SQL code: SELECT Cast('char value' AS CHAR(20)) [val1] INTO test1 SELECT Cast('char value' AS CHAR(40)) [val2] INTO test2 SELECT t1.val1, t2.val2 FROM test1 t1 INNER JOIN test2 t2 ON t1.val1 = t2.val2 As you would expect, executing this code results in a successful match (INNER JOIN), even though we're comparing CHAR values of differing lengths (for more information, see this article for more information about spaces and padding in SQL Server). However, when the same comparison is run through an SSIS lookup transformation in Full Cache mode, the lookup on our sample data will not result in a match. Similar to the case sensitive lookup, you'll find that the SSIS engine would treat the strings 'Hello World' and 'Hello World ' (note the trailing spaces) as dissimilar values. Unlike in SQL Server, trailing whitespace is significant in SSIS value comparisons.
As a workaround, you can use the TRIM() function in SSIS and the RTRIM() T-SQL function to insure that your comparisons are ignorant of trailing whitespace. Alternatively, you could use a cache mode other than Full Cache, but you should be aware of the other implications before making such a change.
Note that this behavior is limited to fixed-length character fields, but could lead to some unexpected and hard-to-detect problems if you aren’t aware of the behavior.
It had been about 5 years since I’d bought a new desktop machine for my home, and with my oldest starting school this year, it was time to add another computer to our inventory. Since my son’s computer needs are relatively minimal at this point, I decided to buy a new computer for the tall people in the house and hand down the current machine to the rugrat. Our home desktop has always been a multipurpose device; it’s got some of my business information on it, most of our personal finance stuff, our entire music and home video/photo library, and several games that I rarely get to play. While I had no intention of spending two grand on this box, I wanted to get something that wouldn’t need an upgrade in the next couple of years.
After a couple of disappointing stops at local electronics retailers, I bought an off-the-shelf Dell from, of all places, Wal-Mart. It’s a 64-bit multicore Athlon with lots of disk space and 8gb of RAM. Even more striking is the 24” widescreen monitor; I’d gotten used to the poor, neglected 17” CRT we’ve relied on for years, so I felt entitled to splurge a bit on the display.
I’m saving the setup and data transfer for tomorrow, after which I’ll get to be the hero for giving my kiddo his very own PC. Everybody wins!
A recent blog by Jack Corbett (No Training Budget Still No Excuse, followed up by SSC’s Steve Jones here) hit the nail on the head with respect to taking charge of one’s own career. I won’t belabor the point by repeating their words here, but the message is that everyone has access to quality SQL Server training even if your training budget is a goose egg.
Jack’s article pointed out a number of organizations and websites that offer free SQL Server educational resources, and I was pleased to find one asset on his list that I had never used. I’ll add on a few Microsoft BI resources that I’ve discovered in my travels:
http://www.learnmicrosoftbi.com – A website with dozens of videos on Microsoft BI, mostly on SQL Server Analysis Services
http://www.sqldts.com/ and http://www.sqlis.com/ – Sister websites with resources for SQL Server DTS and SSIS, respectively
Pragmatic Works webinars – Brian Knight and company have published several of on-demand webinars for business intelligence professionals
SQL Lunch – This event is just emerging, but will start in September and offer semi-weekly lunchtime webcasts on a variety of topics (follow Patrick LeBlanc’s blog for more details on this one).
MSSQLTips.com – A SQL Server resource site, which, among other offerings, sends out a SQL Server Tip Of The Day each weekday via e-mail.
Microsoft Podcasts – Not just for SQL Server, there are Microsoft podcasts and other resources for almost every Microsoft technology. If you spend any time commuting, burn some of these to CD and learn on the road!
The Midnight DBA – According to their own description, husband and wife DBA team Sean and Jen McCown put the kids to bed and stay up late making videos. [OK, they’re SQL Server videos – stop snickering.] There’s a wide variety of content here, and is well worth a visit.
Twitter – OK, this one is reaching just a bit. I add this because there is a fair number of SQL Server pros on Twitter, many of whom are more than willing to offer advice, share upcoming events (webcasts and such) and “tweet” interesting information. SQLServerPedia has a good index page listing many of the SQL folks who use Twitter.
I’m more than 2 months into the netbook experience, and I’m happy to report that it’s still a good investment. Last weekend, I made the leap to Windows 7 RTM. So far so good!
I was more than a little surprised to find out that there was no upgrade path from Windows XP to Windows 7. Although there are a few free utilities that can help ease the pain by migrating user settings and documents, a move from XP to 7 will involve a completely new install. That said, I’m usually not a fan of an OS upgrade anyway, since these tend to be less stable than a clean install in the long run. Fortunately, I’ve not had this machine long, so it didn’t take long to back up all of my data for the reinstall.
The installation of the OS and reinstall of my apps took a good part of the afternoon. Moving to an operating system 8 years newer, I expected a performance drag due to the additional overhead, but was pleasantly surprised at the snappiness of Windows 7 on the netbook. I’ve noticed that I’m under a bit more memory pressure than I was with XP, but I’ve still got the standard 1gb of RAM installed (I can go up to 2gb on this model). The battery life seemed to have diminished a bit, but after reinstalling the Toshiba power management software, it’s still in the neighborhood of 7 to 8 hours.
I’ve noticed that if I have SQL Server, SQL Server Management Studio and Visual Studio running at the same time, the CPU tends to run higher than normal. I have a little more disk paging than before, most likely due to the memory pressure. Overall, though, the jump to Windows 7 has been a positive move for me.