It used to be a no brainer. I'd fire up SQL Server Management Studio (SSMS) and go to town.
Or if SSMS wasn't installed, I would open up the Database Tools in Visual Studio.
I was lucky in that I got to work with Gert, Matt Nunn, and Cameron Skinner to build the first hands-on labs for the "Data Dude" product (that eventually became Microsoft® Visual Studio Team System 2008 Database Edition) that we first ran at Tech Ed 2006 in Boston. Today Gert's moved on and "Data Dude" is known as SSDT or the SQL Server Data Tools.
First, what version of SQL Server was I going to work with?
August 2, 2017 Update: Microsoft dropped an updated version of the SQL Server 2017 on Linux.
Second, what tools?
Naturally, there's the obvious tools from Microsoft:
SQL Server Management Studio
Visual Studio 2017 with SSDT
Redgate Tools (three of which are included with Visual Studio 2017 Enterprise, the version I have)
However, there's some new tools on the block that I might want to consider when working cross platform, and when of thinking DLM and DevOps:
SQL Server PowerShell from Microsoft
dbatools: "PowerShell module to help SQL Server Pros be more productive"
SQL-Xplat-CLI: "New SQL cross-platform command line tools"
And third, what about the app?
Now on one hand, why does it matter? And in general it doesn't. For me, I know how to normalize a database. I use database objects like Views and Stored Procedures. But alot folks don't and are enamored with ORMs like Entity Framework. That got me thinking, do I care about EF? Well if you use .NET Core ... yep more to consider.
So at this point it's become clear: grab my Windows PC and my MacBook Pro, my Azure sub, and a bunch of PowerShell scripts and get busy--I need to explore the old and the new.