A partir de SQL Server 2017, en este post veremos como ofrecer entornos consistentes a nuestros desarrolladores, la implementación de SQL Server a través de contenedores docker.
Descargamos y ejecutaremos la imagen de SQL Server 2017, para docker, en nuestro Linux:
-
Descargamos la última imagen para SQL Server.
docker pull mcr.microsoft.com/mssql/server:2017-latest
-
Ejecutaremos la imagen proporcionando una contraseña RootdesdezeroPassword!.
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=RootdesdezeroPassword!' -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest
-
Verifique que el contenedor de SQL Server se esté ejecutando.
docker ps -a
Ahora nos conectamos al contenedor para administrarlo:
-
Inicie un shell bash interactivo en el contenedor.
docker exec -it sql1 bash
-
Dentro del contenedor nos conectamos a la instancia de SQL Server.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'RootdesdezeroPassword!'
-
Crea la base de datos Basedatoslab1.
CREATE DATABASE Basedatoslab1; go
-
Verificar que la base de datos existe.
select name from sys.databases; go
-
Crea un inicio de sesión para Usuario1.
CREATE LOGIN Usuario1 WITH PASSWORD = 'RootdesdezeroPassword!'; go
-
Cambiar contexto.
Use Basedatoslab1; go
-
Cree un usuario conectado al inicio de sesión recién creada.
CREATE USER AwesomeUser FOR LOGIN Usuario1; go
-
Agregue el nuevo usuario a la funcion db_owner
exec sp_addrolemember 'db_owner', 'AwesomeUser'; go
-
Salga de la instancia de SQL Server.
quit
-
Ahora iniciamos sesión como Usuario1.
/opt/mssql-tools/bin/sqlcmd -S localhost -U Usuario1 -P 'RootdesdezeroPassword!'
-
Verificamos que puede usar la base de datos.
Use Basedatoslab1;
go
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT);INSERT INTO Inventory VALUES (1, ‘widget’, 100);
go
Comprobamos los resultados.
select * from Inventory; go





