First things first, you’ll want to choose your version of SQL Server. Python is available on 2017 and greater. For this demo I’ll be using SQL Server 2019 Developer Edition (CTP 2.2).
With 2019 CTP2.2 they’ve increased the requirement of your OS too, in my example I had a spare VM with Windows Server 2012 laying around but I needed to update this to Server 2016. Check the relevant documentation for the version you’re using.
Once you’ve got your install file ready, go ahead and get started with the installation.
When selecting your installation type, you want to choose a custom install
Give it somewhere to save your media
After selecting Install it’s going to go ahead and download your initial installation files. This should only take a couple of minutes based upon your download speeds.
Once downloaded feel free to read through the documentation.
Finished? Great. Now we can go ahead and get SQL Installed. We’re going to go to the installation tab and choose a fresh install.
Because this instance is not going to be doing any sort of production workload we’re going to go ahead and choose Developer Edition. This edition is free and comes with all enterprise features but is only for development work (check your licence terms if needed)
Once you’ve read the T&C’s you can decide to allow SQL to use Microsoft Update to check for patches. This is totally your call.
The installation is going to check any inconsistencies against it’s internal rule list. You’ll have to fix any failures here before moving on. I’ve just got a warning about Windows Firewall but I’m going to leave that for now
The next step we’re going to choose here is to install the database engine but also choose to install Machine Learning Services with the Python option.
Note: you can install Machine Learning Server as a standalone feature. We do not want to do this.
I’ve left the instance directories as standard. Feel free to change these if you would prefer them elsewhere.
Your next choice will be leaving as the default instance or giving your instance a name. I’m going name mine and call it SQL2019Python.
Next, choose what service accounts you want to boot at startup. I like agent starting so I’ll set that to automatic.
Notice the little check box underneath that talks about Instant File Initialisation. You want this ticked. If you’re not sure what it does then just trust me, you’ll thank me later.
Next, you’ll choose your Authentication modes and give your SA account it’s password. I’d also suggest clicking the “Add Current User” button just in case.
Next, read and consent to the Python Install.
You’ll see a summary of your installation options. Have a read and make sure you’re happy with everything. Once you are then go ahead and click Install.
Download is going to depend on your download speeds again so go make a cuppa while you wait, you deserve it.
Eventually you’ll be greeted by a lovely screen that tells you that everything is installed.
The first way to check that your instance is up and running is to go to your Services app and check that you have your SQL instance running.
Congratulations, SQL and Python are installed!
To double check that Python is working you’ll want to open SQL Server Management Studio (SSMS) (if you don’t have it check this post out) and connect to your instance.
Once connected, run the following script;
sp_configure 'external scripts enabled'
By default, this option is not enabled. To allow it you’ll need to run the following command.
sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
Now run the first script and you’ll see that it’s now enabled.
Now to confirm Python is working go ahead and run a very simple Python script;
execute sp_execute_external_script @language = N'Python', @script = N'print(10+11)'
You’ll see the output in the messages tab
Congratulations, you have SQL Server installed with Python and it works!