Video walkthrough of renaming or “flipping” databases to minimize down time during a refresh. Most commonly when moving a copy from prod to dev.
My Pluralsight courses for new SQL Server DBAs
Thanks for reading!
SQL Server Database Consulting
Video walkthrough of renaming or “flipping” databases to minimize down time during a refresh. Most commonly when moving a copy from prod to dev.
Thanks for reading!
As I’ve been in intense, focused SQL Server training for the last year, I thought it would be a great time to share links to the resources I’ve gathered over the preceding months. To be clear, I’ve not yet had the chance to use all of these resources, but have saved them for future use. So, I can’t guarantee that all of these resources are of equal value or quality. Some types of presentations will appeal to you in various degrees based on your learning style.
I’m not going to list many specific blogs or non-dedicated training resources, but there’s a wealth of information out there if you search for it. One of the best things you can do is jump on Twitter and follow the #sqlhelp and #sqlfamily hashtags to find some of the best minds in the SQL community. You should also join the SQL Community Slack channel and get involved.
Kevin’s Getting Started with Your First SQL Server Instance on Pluralsight.
Though it’s not out yet—but should be very soon—Kevin has a new class on Getting Started with SQL Server Maintenance coming out on Pluralsight that is the perfect next step once you’ve completed his first class.
You should also check out Kevin’s YouTube channel for an array of quick videos on many basic SQL Server concepts you should know.
And to finish tooting our own horn here at Dallas DBAs, you should read all the posts in the Accidental DBA category here on the blog.
For the first of many links to Brent Ozar materials, I suggest starting with his DBA Training Plan series of blog posts to get grounded.
I highly recommend the Accidental DBA Series at SQL Skills. Prepare to go a lot deeper and take your time with these posts. I should probably go back and re-read all of these myself.
SQL Server Tutorial has a nice collection of beginner-level tutorials to help you get a grasp on concepts.
You should definitely subscribe to PASS’s DBA Fundamentals Virtual Group. You can peruse the meeting archive to find past webinars on a variety of topics.
You can learn about SQL Server, Azure, and more at Microsoft Learn.
Check out Kendra Little’s Training Plan for Junior DBAs Learning SQL Server, as well as her Dear SQL DBA series.
The SQL Server Central Stairways series covers everything from Azure to U-SQL and more. There’s no particular order to climb these stairways, but some will require more previous knowledge than others.
Microsoft has a collection of SQL Server and Azure Labs and Workshops available for free.
Get a grasp on the basic of indexes and how they work with Brent’s How to Think Like the SQL Server Engine.
Speaking of Brent Ozar, we got in on his Black Friday sale last year for his Recorded Class Season Pass, and it has been a fantastic experience. Not only is Brent a top-notch presenter and teacher, he constantly updates the classes with his latest live presentation, which means you can re-watch the class every few months and learn about different aspects of the topic at hand based on class participant questions.
You can see all the content from past SQL Bits conferences. There’s over 900 videos available spread across dozens of SQL and data-related topics.
Here’s a handful of SQL Server related channels you should definitely get subscribed to today:
Brent Ozar: Learn to Query SQL Server with the StackOverflow Database
Also take a look at the T-SQL Tutorial at Tutorials Point.
As always, Microsoft’s own SQL Server Technical Documentation will explain what’s really going on in and around SQL Server.
Brent has a very nice list of Free Downloads for Powerful SQL Server Management.
Redgate’s well-known Simple Talk series of blog posts is superb. You’ll find in-depth introductions such as Robert Sheldon’s great Introduction to SQL Server Security.
Rather than put together my own separate list of Power BI resources, I can’t recommend this list of Power BI Learning Path – Free and Paid Resources by Eugene Meidinger more highly. You should also check out Eugene’s Pluralsight courses.
And, of course, if you watch anything related to Power BI, you should watch the Guy in a Cube YouTube channel.
Are there any great training resources you recommend that I haven’t mentioned here? Please link to them in the comments.
Follow me on Twitter at @SQLandMTB, and if you’re into mountain bikes come over and check out my site NTX Trails.
T-SQL Tuesday is a monthly blog party for the SQL Server community. It is the brainchild of Adam Machanic (b|t) and this month’s edition is hosted by Kerry Tyler (b|t), who has asked us to write about “Learning From Others“.
I thought I’d join the party this month and throw my latest post into the mix since my entire journey over the last year has been learning from others in the SQL community.
On September 17, 2019, I was given a promotion from Apprentice to Junior DBA. By this point, I had three daily check clients and one weekly check client in my portfolio. Despite the promotion, I was (and remain to this day) very much in training mode. The primary reason for the change in status was the fact that I was starting to interact directly with some of my clients.
Until this point I had been performing my daily server checks and sending my reports to Kevin. From there, Kevin would let the clients know of problems critical enough to warrant their attention. Once I became a Junior, I began to send my own reports to one client and interject in emails to others.
Honestly, this was a bit nerve-wracking at first. While I’m no stranger to emailing clients for work or business, sending emails of a highly-technical nature—especially within a field where I am still quite green—was completely outside my wheelhouse. Kevin has corrected me privately or clarified terms for clients when something I’ve written isn’t completely accurate. I’m okay with this because it not only aids our clients in getting the most accurate information, but it also helps solidify terms and concepts in my mind.
Since promotion day, I’ve added three more daily clients to my routine. Each new client brings another level of complexity and new experiences—including one client using replication, and another using Availability Groups.
Being so new and inexperienced in a job is something I haven’t had to deal with for a long time. To be honest, it’s a very strange feeling to be a middle-aged man about a year into a third career.
I was just getting settled into feeling comfortable calling myself a graphic designer after about five years of experience. When our design clients started drying up and I began learning about photography in the hopes of starting a photography business, I ventured onto shaky ground again. Thankfully, I discovered I was a natural at photography and became rather good at it in a short period of time. Despite all that, the business never got of the ground because I underestimated just how saturated the local market was, so it was a non-starter as a business (and why I don’t count it as yet another career).
Now that I’m a little over a year into the SQL Server world, I’m starting to find balance again. For a long while, whenever I met someone who asked me what I do for a living, I had felt like an impostor saying, “I’m a DBA.” I would sort of waffle and respond with something like, “Well, I used to be…and then I…but now I’m learning to be a DBA.” It’s only recently that I’ve felt confident enough to just flat out declare, “I’m a DBA.”
Comparison is a losing game, especially when you’re comparing yourself to those who’ve been in the game for 20+ years. In my months of dedicated training, I’ve spent a lot of virtual time around DBAs who have been in the business for a long time. It’s easy to fall into the trap of comparing myself to them, but I constantly remind myself that I’m still new and haven’t discovered my area of specialization yet. The people I’m learning from typically have both experience and specialization in their toolbox.
The biggest challenge over the last few months has been preparing for the 70-764 Administering a SQL Database Infrastructure exam. About the time Kevin laid this challenge out for me, we discovered that Microsoft was retiring most of the role-based certifications in favor of a new framework.
To be fair, Kevin never required me to take the certification exam. He only wanted me to study and learn the material as the next step in my DBA training. Knowing myself, however, I asked him to set me a goal for taking the exam, which helps me keep my focus and move forward toward a specific goal. In the wake of the COVID-19 pandemic, Microsoft has decided to keep the pre-existing certifications and exams through January of 2021. Our goal is for me to take the 70-764 exam by the end of September 2020.
I’ve been studying long enough now that I’m starting to find and take some free online practice tests for the exam. I have access to the official practice exam which I’ll probably attempt in August 2020 to find my weak areas before scheduling the official exam. I’ve also found several flash card decks on the Quizlet website that were created by previous exam-takers. I’m spending some time each day reviewing and quizzing myself using these decks.
I fully expect to not pass the exam, and I’m okay with that fact—I’ll still give it my best effort. Again, Kevin’s goal has been for me to learn and grow as a DBA through both study and experience, not collect certifications. As I work through the practice tests I’ve found so far, my biggest takeaway is that there’s no replacement for experience. Several times I’ve been completely stumped by an exam question that would likely not cause a problem for a DBA with several more years of experience. But each time I’m stumped by a question, I go research it and learn the answer, thereby increasing my own knowledge.
Maybe, just maybe, I’ll have enough knowledge internalized by exam time to pass, but I’m not going to be terribly disappointed if I don’t. This is just another step on the journey to becoming a better DBA.
Follow me on Twitter at @SQLandMTB, and if you’re into mountain bikes come over and check out my site NTX Trails.
Company is using SQL Server Express to save on licensing costs for a small database. Over time this database grows and is getting close to the hard 10GB limit.
I just got off the phone with a client and their client is in this situation. During the conversation, she mentioned that the DB has information for four “regions.”
They already have a purge process in place, and compression is not an Express Edition feature.
If you have other legitimate things I should add to this list that Microsoft will support, please share in the comments.
If your data is important, buy the proper version for your needs. Maybe that’s Standard, maybe an Azure VM and spread out the SQL licensing over many months. But don’t do crazy things to try to get around the limits.
Thanks for reading!
Whoo! It’s been six months since my last post. There are reasons for this, none of which are probably valid, but it’s the way it is. I’ve been a full-time DBA for just over a year now, and Kevin thought it would be a good time to review how far I’ve come thus far. Looking back, it’s been quite an experience.
Back in May of 2019, after several years of working from home as a graphic designer and WordPress developer, my family was more than three months into almost no income. Due to various factors, we just weren’t getting many leads and many of our clients had moved on to lower-cost options. Our emergency fund was empty, and I began sending out emails to friends and acquaintances asking them to keep an ear to the ground for any potential job leads. I started looking at everything from working in the warehouse at IKEA, driving a UPS truck, and even become an insurance adjuster.
My long-time closest friend Kevin—for whom I had done some Dallas DBAs-related graphics work over the years—responded by basically saying, “I think I can help. Let’s go for a bike ride and talk.” Before the end of the week, Kevin had me set up with a free PluralSight account and I began learning the basics of what makes SQL Server tick. It all began with Kevin’s own course, Getting Started with Your First SQL Server Instance.
The funny thing is, Kevin had been offering free one-day classes throughout the DFW area for several years, teaching introductory basics of SQL Server for accidental DBAs and those curious about database administration as a career. I had attended his classes more than once to give him an honest evaluation from the viewpoint of someone who knew almost nothing about SQL Server. Looking back now, I can see that Kevin was already working on me to consider changing careers, knowing I would probably be a good fit.
Coming back around to May 2019, we agreed for me to start with some self-paced investigation into the world of SQL Server, with the goal of me attending SQL Saturday Dallas on June 1, 2019. If I was still interested in pursuing DBA as a career, that day would be my first official day on the payroll at Dallas DBAs.
Funny enough, I had already attended SQL Saturday Dallas the year before as a volunteer photographer. Being an actual attendee was quite a different experience. I had already volunteered to be the photographer for a second year long before considering becoming a DBA, so I split my time between helping Kevin staff his company sponsor’s table, taking photographs, and attending a handful of sessions. Honestly, most of the sessions were way over my head, but it was worth getting to see some various approaches to troubleshooting. I ended the day attending Brent Ozar’s (b|t) class on What’s New in SQL Server 2019 and had a fantastic time despite being completely lost for most of the session. The term parameter sniffing has been indelibly etched in my brain since that day.
Oh, and what’s with the Ozar number? At some point in the past, my co-worker SQL Dork (b|t) came up with an idea that basically goes like this: If you’ve done online training with Brent then add 1; if you’ve met Brent in person then add 1; if you’ve taken an in-person class with Brent then add 1. My first day on the job at SQL Saturday, since I’d already done one YouTube “class”, my Ozar number went from 1 to 3. I’ve spent many hours training with Brent online since that day.
From that day forward, and for the next several months, I was the newly-christened apprentice at Dallas DBAs—earning SQL Dork a promotion to Junior. I had already spent some time working in a VM installing instances, updating instances to the latest SPs and CUs, learning about the different file types involved in a SQL Server environment, identifying the differences in the different recovery models, and getting started with understanding backups and restores. Now my training began in earnest.
In the interest of keeping this post from growing into a novel, below are the links to a series of posts I made in the first four months of training. These cover a lot of the initial concepts I learned on my way to starting work on production servers and becoming a junior DBA. Don’t worry, there’s more to come in my story as I try to fill in the gaps between those posts and what’s gone on in the last few months.
Follow me on Twitter at @SQLandMTB, and if you’re into mountain bikes come over and check out my site NTX Trails.
We have a double feature for today’s dbatools blog post, as these two commands go hand-in-hand.
Todays commands: Dismount-DbaDatabase and Mount-DbaDatabase
Dismount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test' Mount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test'
Detach-DbaDatabase and Attach-DbaDatabase can be used as aliases. For the purpose of this blog i’m using the official names, because reasons™
Note that the .mdf and .ldf files are still present, meaning detaching a database can keep you from deleting a database you were told wasn’t needed anymore, only to instantly have someone ask why they can’t get to the database they need. If the files are still there, you can attach it and it’s good as new.
Dismount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test' ` -Force
If the database is part of a mirror or something, -Force can be used to detach it anyways.
Dismount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test' ` -UpdateStatistics
This will update the statistics of the database before it’s detached.
$testAttach = New-Object System.Collections.Specialized.StringCollection $testAttach.Add("C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\test.mdf") $testAttach.Add("C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\test_log.ldf") Mount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test' ` -FileStructure $testAttach
The -FileStructure parameter can be used to point out where the files to attach are. If not specified, it’ll use backup history to figure out what you mean, if possible.
Mount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test' ` -DatabaseOwner 'sa'
The -DatabaseOwner parameter lets you set the, well, database owner, when you attach the database. Defaults to sa.
Dismount-DbaDatabase ` -SqlInstance PRECISION-M7520\SQL2016 ` -Database 'test', 'square[]brackets'
The -Database parameter can take multiple values.
That’s all i got for this one, not too complicated unless you’re doing something with credentials and stuff. Follow me (b|t) on twitter!
Previous Dbatools posts:
Backup-DbaDatabase
Restore-DbaDatabase
Get-DbaLastBackup
Get-DbaAgentJobHistory
Measure-DbaBackupThroughput
Get-DbaErrorLog
Future Dbatools posts:
None yet!