Posts tagged tsql2sday
Its the 80th T-SQL Tuesday and for some reason I decided to write a blog post. This month’s host is a good friend, Chris Yates and since its his birthday he decided to give us a gift by opening the topic to “anything”
My topic of choice is simple and relates to Chris’s Present. SQL Server’s Birthday.
I’ve worked with SQL Server in some form for longer than I care to admit so I thought it would be interesting to write down my memories of each release. Why? I dont know, I guess because I can and perhaps just perhaps to compare notes with a few other “old-timers”
SQL Releases over the years
- a GUI on a DB? This was sheer madness
- SQL Enterprise manager was revolutionary & light years ahead of the competition
- Corruption, Corruption Corruption
- I still miss ISQL_w sometimes (not really)
- Shipped with actual printed books
- Side by side unusable installs of SQL 6.5 and 7.0 during upgrades
- I do miss the standalone Query Analyzer tool
- DTS… oh the nightmares of DTS, they all start here
- Someone put XML in a database… AKA: Patient zero
- You get a bigint and you get a bigint and you, bigints for everyone!
- There was a disturbance in the force and SSRS appeared (Someone say it was SSAS that caused the disturbance but I disagree)
- Put multiple instances of SQL on a server they said, it’ll be fun they said…… NOT
- SSIS appears, the lights suddenly dim and a clown jumps out of a box and says “Surprise”
- Upgrade pain like no other “80” compatibility still haunts many-a-DBA
- CLR is banished by DBA’s everywhere for being the devils magic and clearly evil
- DTA appears and is quickly crowned with a dunce cap
- SSNS came and went so quickly no one ever saw it
- TSQL Window functions appear and developers rejoice!
- BIDS shows up and BI developers lives are never the same
- PBM appears and quickly goes stale
- Compression of all the things arrives but only if you spend mega bucks
- DMV’s finally became useful
- intellisense? what is this dark art that saves me from typing SLECT 1 more time
- AlwaysOn, Alwayson, Always on, Who knows what it will be called today but the moniker appeared and Allan Hirt suddenly had more grey hair
- The SQL team joined the “R2” Parade and quickly got lost
- The what edition of SQL do I need to do X game gets into high gear
- PowerName All the things starts with PowerPivot
- MasterDataServices appears and quickly goes stale
- Core licensing appears and the value proposition gets instantly more complicated
- SSIS was disemboweled (Thankfully)
- Column Store indexes were created to give Niko something to write about
- AlwaysOn Availability Groups make DBA’s look like superheros
- Extended event shaming becomes a thing
- BIDS? SSDT? SSDT-BI? Data tools? The confusion is maddening
- The what edition do I need game takes another twist
- SSMS is still treated like a stepchild
- Hekaton changes the game (If you meet this teeny tiny list of caveats)
- Azure is melted into the box product
- Someone put JSON in a database… AKA: Patient zero
- Dynamic data masking and Row level security brings all the auditors to the yard
- AlwaysEncrypted continues the pattern of “Always or Power” all the names!
- QueryStore appears and DBA’s the world over are immediately confused by this black magic
- Temporal tables appear and SQL Server catches up with postgres circa 2012
- SSMS starts getting major love, everyone wonders if its a trick
- SSDT is… wait…for…it… a SINGLE tool finally!
Future SQL Server
- Can we get indexes on
functionsexpressions *pretty please* If a mainframe can do it surely SQL can too
- Banish the message “string or binary data may be truncated” to the history books
- How about a tiny touch of love for Powershell (those guys yell loud enough that powershell can cure all my ills, how about giving them a proper hammer)
- An edition based on size of server, pay for the T-SQL features you use based on server/database size *things like hekaton on small db’s* in a new “AlwaysPower” edition
- *basic* Scalar UDF optimization to cache deterministic values
What did I miss? Wait, I know I missed a lot so dont answer that.
Huge Thanks go out to everyone who participated in this months T-SQL Tuesday.
I apologize for the tardiness of this post, its been a busy week with PASS finalizing the Summit Sessions.
As always, there were some awesome posts this month! If youve ever wondered why you need to prepare to recover your databases, or your life for that matter I suggest reading through the huge amount of content below.
The good stuff
Rob Farley (B | T) Writes us a two part post with half being technical about migrations, downtime and high availability and the other half being personal with regards to dealing with and controlling life’s disasters. Hats off to Rob for pouring it all out there. (sometimes it just feels better to write it all down and put it in perspective)
Noel McKinney (B | T) recounts a bad situation where he played the part of message queue during a human disaster where a developers spouse unplugged the telephone in the middle of the night (surprising this didnt cost someone a job)
John Pertell (B | T) tells us about times where he learned lessons the hard way about backups and restores. His stories hit home for me and im sure they will for most other seasoned DBAs. Ive lost more SAN arrays over the years to firmware flashes than I care to think about, so much so that I cringe when the SAN admin calls and even utters the word firmware.
Robert Davis (B | T) writes about backing up system configurations in the case of a complete server failure. Good info in one place here about what you would loose if you lost one of the system databases.
Ricardo Leka (B | T) turns in his post letting us know that its important to have a backup plan but even more important to have a recovery plan! (his post was in portugese so if I’m way off I blame google translate! Thanks for the post Ricardo)
Gail Shaw (B | T) does her best to remind us that disasters arent just huge events in the world but rather most of them involve smaller more isolated events. Id agree with her analysis and I live in the bullseye of hurricane country!
Thomas Rushton (B | T) Shared not one but two posts for this months edition of TSQLTuesda. He reminds us to test our DR plans and recounts a story of what was likely someone updating every record in a database with the same value. Which is a common disaster indeed.
Nick Haslam (B | T) wrote about an experience at a retail organization where a loss of power took out all of the systems. Seems its often the small things that get overlooked (not that power is small but, often taken for granted)
Nancy Hidy Wilson (B | T) who lives just up the road from me in Houston recounts her own personal story from Hurricane Ike. I learned I need a chainsaw and a tractor to recover from a hurricane. Also I was reminded just how far our modern jobs have come in that we can personally experience disaster and move a few hundred miles away and continue to work our day jobs since their systems *should* be designed for uptime!
Thanks again to everyone who participated this month!
Be on the watch for next months host and consider participating if you havent before!
Its the first week of June and for those of us living along the Gulf and Atlantic coasts of the US, that brings the beginning of hurricane season. It also means its time for this months installment of T-SQL Tuesday.
This Months Topic
Disaster Recovery. This topic is very near and dear to me based on the fact that I live on a barrier island that was the site to the deadliest natural disaster in US history and more recently destroyed by the third costliest hurricane in history. Needless to say preparing for disasters is nearly instinctive to me which might explain why I’m a DBA but I digress. Anything you’d like to blog about related to preparing for or recovering from a disaster would be fair game, have a great tip you use to keep backups and recovers running smoothly, a horrific story of recovery gone wrong? or anything else related to keeping your systems online during calamity. We want to hear it!
T-SQL Tuesday info
Originally an idea dreamed up by Adam Machanic (Blog|Twitter), it has become a monthly blog party where the host picks a topic and encourages anyone to write a post on that topic then a day or 3 later produces a roundup post of all the different perspectives from the community.
- Your post must be published between 00:00 GMT Tuesday June 14, 2011, and 00:00 GMT Wednesday June 15, 2011
- Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post.
- Trackbacks should work, but if you don’t see one please link to your post in the comments section below so everyone can see your work
Nice to haves!
- include a reference to T-SQL Tuesday in the title of your post
- tweet about your post using the hash tag #TSQL2sDay
- consider hosting T-SQL Tuesday yourself. Adam Machanic keeps the list, if he let me do it you’re bound to qualify!
Check back in a few days to see the roundup post of all the great stories your peers shared
This months TSQL Tuesday is hosted by a good friend Pat right over at SQL Asylum
For this months entry I decided to keep it short and sweet, following in my Bits N Bytes theme.
The Meta Script
In the true sense of the word automation, this really doesn’t fit but, in the terms of quickly getting something done that would otherwise be a mundane repetitive task, this can save a world of time.
Lets say we have a list of objects in the Sales Schema and we have a request to grant Select and Insert access to a user for those objects. There are two approaches, 1 is to grant select and insert to the actual schema like this
GRANT SELECT, INSERT ON SCHEMA::Sales TO BusinessUser
However you might decide that you only want to grant direct SELECT and INSERT on the tables that exist in the DBO Schema today not those tables which may be created in the future (auditors love to make us do this)
A simple way to automate granting these rights is by writing a script that writes a script like so
ON obj.schema_id = sch.schema_id
and obj.type = ‘U’
This should give you a result set that looks something like the following:
GRANT SELECT, INSERT ON Sales.People TO BusinessUser
GRANT SELECT, INSERT ON Sales.Sales TO BusinessUser
At this point, run the output in a separate command window and viola you’ve automated that grant of permissions
This may not be true “automation” in the sense that Pat was looking for but, perfecting the ability to write scripts that write scripts is a huge timesaver
If you hadn’t guessed, today’s post is part of this months TSQL Tuesday. This is an interesting topic for me since as a matter of principle I usually refuse to make resolutions and the like around the start of the new year. I like to set goals, and work towards those goals but, I think “resolving” to do something has this nagging way of never turning out how I’d like. It probably has something to do with the fact that I track goals but, typically only think about resolutions at a point in time.
So, this year Ill resolve to document a few of my goals for the year.
This year I only have a few professional goals. Actually, quite a few less than usual. I decided to trim down my professional goals this year to only a couple since they are quite large and very open ended.
- Id like to make PASS as responsive as possible to the needs of our SQL Community. This is simply to say that I plan to do what I feel I was elected to do. Of all the directors I am as well positioned as anyone to make real change that can be seen to the average user of SQL Server. I will need lots of help to make this happen, and I have no problem asking for that help (watch this space SOON for details)
- I want to learn to be a better “manager/leader” It takes a different set of skills to lead people than it does to be a DBA and do technical work. I love the technical work, actually more than the management stuff but, my current roles are requiring more leadership and less technical. I need to do better with the details of this and learn to inspire greatness in my teammates.
That’s it, 2 whole goals for the year, not much by count but, by effort I’d say these might be the some of the loftiest goals I’ve set in a long time…