VMware Communities
carlfino
Contributor
Contributor

Need help installing SQL Server Express 2017 on Windows 11 (M1 Mac)

I am running Windows 11 Pro 22H2 OS build 22621.1265 on a Macbook Pro M1.  I'm trying to install software that uses SQL Server Express 2017.  During the install I get the error "Failed to install SQL Server: Error 0x876E0003"

I also tried to do the installation of SQL directly from the Microsoft SQL server download site.  I get the same error.

Has anyone successfully installed SQL Server Express 2017 on an M1 machine?

Thanks in advance!  

0 Kudos
5 Replies
Technogeezer
Immortal
Immortal

You may wish to check with Microsoft to see if they support use of SQL Server Express 2017 on Windows 11 ARM.

Some quick research says no SQL Server version (including SQL Server 2022) is supported by Microsoft on ARM CPUs. https://learn.microsoft.com/en-us/answers/questions/630286/will-arm-cpu-architecture-be-supported-fo...

There are those that have hacked and gotten things to work, but you're on your own if you go down this route. Example:  https://techcommunity.microsoft.com/t5/sql-server/m1-cpu-support-on-sql-server-windows-11-for-arm-pr...

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
carlfino
Contributor
Contributor

Thanks so much!

0 Kudos
HurcoMv
Contributor
Contributor

My business partner had similar issues. He resolved it by installing the Arm SQL Server docker on the Mac itself - I believe it is called Azure Bridge (or Edge maybe). I'm not at work to check with him right now.

Windows applications can then use the SQL Server Native Client and or MSOLEDB for SQL Server to talk to the database (on the Docker). Presumably you can use ODBC too - we don't use it with our application.

If not clear, the actual SQL Server database engine is running in the Docker on the Mac and I am specifically talking about the M1 Mac. It's conceptually like the database running on a different server and your Windows machine communicating via TCP/IP the the database server.

Maybe MS will bring out an Arm version of the database engine at some point, but I'd imagine that would start with SQL Server 2022 and not earlier versions.

0 Kudos
carlfino
Contributor
Contributor

Very helpful HurcoMv.  Thank you.

I was able to get Docker up and running and open an instance of Azure Edge going.  I'm not quite sure what to do on the Windows side to get SQL connected with the SQL server on the Mac.  Any additional detail there would be appreciated. Thanks again!

0 Kudos
HurcoMv
Contributor
Contributor

We used information in these links...

 

Docker notes…
 
 
How to…
 
On the Mac command line you do execute something similar to the following with the relevant password etc. You don't specifically need the -v options - in our case the database files are large and we have them in a separate volume that Time Machine doesn't backup
 
docker run --name ms_sql_server -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=******' -p 1433:1433 \
-v /Users/xxx/DockerDbs/data:/var/opt/mssql/data \
-v /Users/xxx/DockerDbs/log:/var/opt/mssql/log \
-v /Users/xxx/DockerDbs/secrets:/var/opt/mssql/secrets \
-d mcr.microsoft.com/mssql/server:2019-latest
 
Basically the database engine is listening on port 1433 which is the standard TCP/IP port the Sql Server listens on.
 
to test, you can connect using SSMS or Azure Data Studio but you have to use SQL Server Authentication and TCP/IP
0 Kudos