This month’s T-SQL Tuesday is being hosted by Kerry Tyler. The subject is a recent mistake that you have made and what was required to fix it. These don’t have to be SQL Server mistakes. This is a pretty wide area, that gives everyone plenty of possibilities for topics. In my case, I am going to discuss one recent mistake that I have made, what was required to fix it, and what I have learned from the experience. This will be my contribution for T-SQL Tuesday #128 – Learning From Mistakes.
Not Reading The Manual
My most recent mistake was just last night! I was working on an upcoming blog post and YouTube video about how many SSDs you should use in a desktop machine. The question is how many SSDs of what size, and in what RAID level. As part of this effort, I have an MSI B450 Tomahawk motherboard on an Open BenchTable. I have four old 256GB Samsung 840 PRO SATA SSDs that I wanted to test in different configurations. This system has an M.2 NVMe storage card for the boot drive, which is an important fact…
What Did I do Wrong?
I installed a fresh copy of Windows 10 version 2004 on the M.2 NVMe drive, patched Windows, and installed the latest drivers for everything. Next, I turned off the system and connected the four Samsung 840 PRO SATA drives to the SATA3, SATA4, SATA5, and SATA6 ports on the motherboard. When I booted the system, two of the four SATA SSDs were not visible in Windows Disk Manager.
My first thought was that maybe some of the SATA data or power connectors were not plugged in all the way, so I checked that first. They were all properly plugged in and fully seated. The fact that two drives were missing instead of just one should have made me suspicious…
Next, I rebooted, and went into the BIOS setup to make sure all of the SATA ports were enabled. All six SATA ports were enabled in the BIOS. My next thought was that perhaps two of the SSDs were just dead. This did not seem likely, since I had recently tested all four SSDs and they had all worked just fine. Losing two for no apparent reason also did not seem very likely.
After a few minutes, I had a vague memory about how the M.2 slot might share lanes with some of the SATA connectors on the motherboard. Aha, maybe I was on to something!
Finally, I opened the manual that came with the motherboard. After a minute of looking around, I found it documented in two places that if you used the M.2 slot, then two of the SATA ports would be disabled. Specifically, SATA5 and SATA6, which I was trying to use. Mystery solved!
How Did I Fix It?
Fortunately, this was a simple fix. I powered down the system, and unplugged the SATA data cables from the SATA5 and SATA6 ports on the motherboard. Then I plugged those two SATA data cables into the SATA1 and SATA2 ports on the motherboard.
This makes sense because the M.2 slot and SATA5 and SATA6 ports are connected directly to the CPU, and you cannot use both those two SATA ports and the M.2 slot at the same time. The SATA1, SATA2, SATA3, and SATA4 ports are connected to the B450 chipset, so they are independent of the M.2 slot.
What Did I Learn From This?
If you looked at the first two pictures in this post (from the motherboard manual) as you were reading along, you probably saw what the issue was. In my defense, the SATA1 and SATA2 ports are in a different location than the SATA3 and SATA4 ports. All four of those SATA ports are connected to the B450 chipset. The SATA5 and SATA6 ports (which connect to the CPU) are right next to the SATA3 and SATA4 ports.
If I had just checked the manual before I started connecting the SATA SSDs, I would have saved maybe 10-15 minutes of thrashing around. Unfortunately, these types of mistakes are pretty common when you don’t read the documentation first.
The lesson here is that you should read the documentation before you do something, especially if you have any questions in your mind about the process. In my case, I was quite sure I was doing it right, which was my first mistake. MSI had clearly documented the issue in their motherboard manual, so it was my fault for not reading it first.
This same principle is very relevant for SQL Server. Fortunately, there is a lot of very good documentation from Microsoft and also from the large SQL Server community. Don’t make the mistake of thinking you “don’t need to read the manual”.
If you have a minute, you might want to check out my recent post Building a B550 Aorus Master System and the related YouTube video Building a B550 Aorus Master System. I would really like to hear your comments on the video!
If you have any questions about this post, please ask me here in the comments or on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!