https://database.guide/how-to-install-sql-server-on-a-mac/
get docker container
sudo docker pull microsoft/mssql-server-linux:latest
create docker container
password needs
Uppercase letters, Lowercase letters, Base 10 digits, and Symbols..
docker run -e'ACCEPT_EULA=Y' -e'MSSQL_SA_PASSWORD=YourPassword123!' -p 1433:1433 --name sqlserver -d microsoft/mssql-server-linux
start docker container
docker exec -it sqlserver bash
run as SA
/opt/mssql-tools/bin/sqlcmd -U SA
view password (!)
echo $MSSQL_SA_PASSWORD
change password:
docker exec -it sqlserver2 /opt/mssql-tools/bin/sqlcmd -U SA'Root123!' -Q'ALTER LOGIN SA WITH PASSWORD="YourPassword123!"'
download
mssql datastudio
create and save data in volume
docker run -e'ACCEPT_EULA=Y' -e'MSSQL_SA_PASSWORD=YourPassword123!' -p 1433:1433 --name sqlserver2 -v sqlservervolume:/var/opt/mssql -d microsoft/mssql-server-linux
to see volumes
docker volume ls
backup external to local desktop...
docker cp newsqlserver:/var/opt/mssql ~/Desktop
copy into container
docker cp ~/Desktop/filetocopy.ext newsqlserver:/
backup from within the mssql in new backup folder
/opt/mssql-tools/bin/sqlcmd -U SA //get in db
1> BACKUP DATABASE Products TO DISK ='/var/opt/mssql/backup/Products.bak'
2> GO
exit
copy it to desired location...
code first approach:
dotnet ef migrations add InitialMigration
dotnet ef database update
sql operations studio:
no longer in active development...
azure datastudio:
same as sql operations studio...
https://docs.microsoft.com/en-us/sql/azure-data-studio/download?view=sql...
in azure datastudio:
new query
IF NOT EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'TutorialDB'
)
CREATE DATABASE [TutorialDB]
GO
ALTER DATABASE [TutorialDB] SET QUERY_STORE=ON
GO