- T-SQL Tuesday #002: A Puzzling Situation
- T-SQL Tuesday #003: Relationships
- T-SQL Tuesday #004: IO
- T-SQL Tuesday #005- Reporting
- T-SQL Tuesday #006: “What About BLOB?”
- T-SQL Tuesday #007: Summertime in the SQL
- T-SQL Tuesday #008: Gettin’ Schooled
- T-SQL Tuesday #009: Beach Time
- T-SQL Tuesday #010 – Indexes
- T-SQL Tuesday #011: Misconceptions
- T-SQL Tuesday #012 – Why are DBA skills necessary?
- T-SQL Tuesday #013 – What the Business Says is Not What the Business Wants (Summary)
- T-SQL Tuesday #014 – Resolutions (summary)
I was giving a presentation recently and someone in the audience started to ask about why I recommended against a certain technique. Without getting into it, this person kept saying that she had to implement things her way since the “business” said they needed it done that way. However a little digging showed that the business didn’t really understand the technology. They were asking for a result, and she took them literally in how she implemented a process. A classic impedance mismatch.
I think we’ve all had situations that are similar. The business, the client, the customer, is asking for something, but they don’t know how to ask those of us building the technology. Or they don’t understand the implications of asking for something like “absolutely zero data loss” to be implemented.
The official topic this month is:
What issues have you had in interacting with the business to get your job done.
This month I’d like to step back from the deep technical stuff and ask “why are DBA skills necessary?”
I don’t want to color people’s opinions by giving my own yet, but some things to consider are:
- What problems have you seen in your career that could have been avoided with some DBA skills?
- At what point does a SQL Server installation need a real DBA to look after it?
- How could DBA input help prevent design problems in data applications?
- Should there be cross-over been developer skills and DBA skills? What about architects? Storage admins?
- How can business continuity be affected by lack of DBA skills?
- How much can we rely on auto-tuning to ensure performant work loads?
- Is Microsoft doing enough to foster DBA skills as a point of excellence?
- What about on other RDBMS platforms? What about no-SQL?
I could go on for hours… I’m really looking forward to seeing where you take this topic and I’m expecting some great posts.
Why are so many Misconceptions in SQL Server?
SQL Server as a product is maturing with every new version since its inception and getting better and better over the years. But there seems to be lot of misunderstanding of some SQL Server concepts in the community and probably in my opinion its because of one or more items listed below.
1. While some information holds true in previous versions but they don’t hold true in newer versions (after some components were re-written, optimized).
2. Bugs in older versions are fixed in newer versions.
3. Taking the words out of context from someone’s publication/blogs etc…
4. Someone simply misunderstood the concepts.
5. Never realized the depth of the internals or the scope of the subject.
6. Taking marketing fluff as truth.
7. Too much generalization of the facts based on one or two incidents.
The possibilities for writing up a post on this topic invloving SQL Server are enormous even if you are a novice blogger or the industry expert on SQL Server. So get ready with your [misconceptions, myth-busters, de-mystifiers, do you know, back to basics, fact checking] posts on SQL Server and help the community learn more stuff while setting the facts straight.
I want to take a moment and request if you are working on a misconception that was already busted by someone else in the community and your approach is also very similar then please give credit to the person that did the work prior to you in your post.
Indexes are strange things. You never need to explicitly create one to create a fully-functional database, but if you want a database to perform well, they’re indispensable.
And there are so many aspects to write about! Like internals, covering, clustered, xml, fulltext, b-trees, hints, maintenance of, included columns, filtered, redundant, missing and tons more.
In fact my SQL Server 2008 Administrator’s Pocket Consultant (The first handy textbook I could grab) has an index entry on “indexes” that has 22 sub-entries.
Congratulations! You have been chosen as a finalist in the Vacation Getaway package of a lifetime. You will be flown to a resort destination of your choosing. For this vacation, we only ask that you leave your cell-phone, laptop, twitter and facebook behind. You have earned a break from the emergency Database repair calls and the urgent last-minute report requests. To take advantage of this opportunity to put your “toes in the water and ass in the sand” and to feel like there’s “Not a worry in the world” and “life is good today,” just share what you did to earn it! (Lyrics courtesy of “Toes” by the Zac Brown Band)
What do you do as a DB professional to earn a little “Beach Time?” What do you do prior to “Beach Time” to ensure that the beach time will not involve work? The topic for this installment in TSQL2sday is to write about what you have done to be able to get a break from the job. Beach time is usually vacation time, but is really anything that can create a break in the work-place. If you automated a process to lighten your load – tell us about that process. If you had to pull a 72-hr shift to ensure that your vacation plans would be unaltered by work – tell us about it. If you turn off the cell-phone and pager and ignore email for that vacation – tell us about it.
This month’s topic will be all about learning and teaching.
We return to our days of youth to take a fresh look at learning. How do you learn? How do you teach? What are you learning or teaching? Or the coup de grace post would be learning something new and telling us about it.
In the last few months we’ve had the release of SQL Server 2008 R2 which brought along with it a slew of new features. So this T-SQL Tuesday I ask: What’s your favorite hot new feature in the R2 (I’ll be nice and include 2008 in general) release? Got some code that takes advantage of a new feature? Post it! Got an example of how PowerPivot let you slice and dice data you simply couldn’t before due to contraints? Show us! Make sure to apply your SPF 1433 and get to writing.
MSDN conveniently defines Large Object (“LOB”) data types for us: “LOB data types are those that exceed the maximum row size of 8 kilobytes (KB).”
There have been a several improvements in LOB data functionality in SQL Server 2008 (there were even some in SQL Server 2005). In 2008 the XML, GEOMETRY, GEOGRAPHY data types can all hold 2.1 GB of data. CLR data types can also hold up to 2.1 GB of data. So the question of the day is how do you use LOB data? Here are a few possible starting points:
- LOB data storage, optimization, limitations, “under-the-hood”
- Indexing, querying, optimization, tricks, tips, performance tuning of LOB data
- Interesting uses/projects for LOB data types:
- The MAX data types (VARCHAR(MAX), NVARCHAR(MAX), VARBINARY(MAX))
- GEOMETRY/GEOGRAPHY (spatial)
- CLR data types
- FILESTREAM hints, tips, tricks, .NET SqlFileStream Class
The only rule is that your topic has to involve SQL Server’s LOB data types in some form. If you want to demonstrate handling LOB data in .NET, for instance, go for it. If you want to demonstrate Oracle LOB data handling, this might not be the place to do it (although a comparison of the two might be interesting…) 🙂
Reporting is a potentially huge topic so here are just a handful of ideas that might get you started:
- Server Performance Reporting
- Technologies to help offload reporting
- Reporting services tricks
- T-SQL tricks for presentation and formatting
- Database design considerations for reporting
- Self-service reports
- Reports for executives
- Reporting from Oracle in SSRS
Don’t forget that the DMVs are pretty much qualified as ‘Reports’ so those count too!