0
0
0
share
#linux#nodejs#Microsoft#azure
0 Komentar
Menggunakan SQL Server Melalui Linux dan Docker
##Pendahuluan
SQL Server merupakan salah satu relational database yang cukup banyak digunakan oleh enterprise. SQL Server juga merupakan komplian dari Azure SQL Database. Sehingga aplikasi yang dikembangkan menggunakan SQL Server sebelumnya, dapat dimigrasikan ke Azure SQL Database. SQL Server juga dapat digunakan untuk pengembangan lokal sebelum di-deploy ke production.
Namun sayangnya nasib kurang beruntung menimpa pengguna Linux dan OSX. Karena Microsoft tidak memberikan versi express, lite, atau komunitas untuk Linux dan OSX. Walaupun bersifat evaluasi dan berbayar, akhirnya Microsoft memberikan versi "gratis" dari SQL Server yang dikemas di dalam sistem operasi Linux dan Docker. Namun sayangnya distribusi ini cuma bisa digunakan selama 5 bulan.
Betul, kamu dapat menjalankan SQL Server diatas Linux dan OSX dengan menggunakan SQL Server for Linux yang dikemas di dalam Docker.
##Instalasi
Pastikan kamu sudah memasang Docker di sistem operasi Linux atau OSX yang sudah kamu miliki. Kemudian mari kita tarik image-nya dari Docker Hub:
$ docker pull microsoft/mssql-server-linux
Kemudian pasang juga SQL Server Client yang ditulis menggunakan Node.js bernama mssql. Kamu dapat memasangnya dengan cara berikut:
$ npm install mssql -g
##Saatnya mencoba
Pastikan Docker kamu sudah di-setting untuk menggunakan minimal RAM 3.5GB, karena Docker SQL Server for Linux ini membutuhkan RAM sebesar 3.5GB. Bila kamu menggunakan OSX, kamu dapat mengaturnya di Preferences -> Advanced -> Memory -> Geser ke 3.5GB -> Apply & Restart.
Untuk menjalankannya, silahkan eksekusi perintah berikut:
$ docker run -d --name sql-server-linux -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=M@5t3rPi3c3' -p 1433:1433 microsoft/mssql-server-linux
Perintah diatas mempunyai makna jalankan sebuah container dengan nama sql-server-linux dan kita atur environment variabel untuk ACCEPT_EULA dan SA_PASSWORD. Kemudian kita lakukan port forwarding dari port 1433 milik container ke port 1433 milik host, dan gunakanlah template image microsoft/mssql-server-linux.
Setelah jalan, kamu dapat mulai mencoba melakukan operasi di dalam SQL Server dengan menggunakan mssql.
$ mssql -u sa -p M@5t3rPi3c3
Sekarang kamu akan melihat konsol seperti berikut:
Connecting to localhost...done
sql-cli version 0.6.2
Enter ".help" for usage hints.
mssql> use master;
OK
Executed in 0 ms
mssql> select name, database_id, create_date from sys.databases;
name database_id create_date
------------- ----------- ------------------------
master 1 2003-04-08T09:13:36.390Z
tempdb 2 2017-06-24T04:58:33.860Z
model 3 2003-04-08T09:13:36.390Z
msdb 4 2017-05-10T14:37:18.410Z
4 row(s) returned
Executed in 1 ms
mssql> .help
command description
------------------ ------------------------------------------------
.help Shows this message
.databases Lists all the databases
.tables Lists all the tables
.sprocs Lists all the stored procedures
.search TYPE VALUE Searches for a value of specific type (col|text)
.indexes TABLE Lists all the indexes of a table
.read FILENAME Execute commands in a file
.run FILENAME Execute the file as a sql script
.schema TABLE Shows the schema of a table
.analyze Analyzes the database for missing indexes.
.quit Exit the cli
mssql> .databases
name
-------------
master
model
msdb
tempdb
4 row(s) returned
Executed in 1 ms
mssql> .tables
database schema name type
-------- ------ --------------------- ----------
master dbo MSreplication_options BASE TABLE
master dbo spt_fallback_db BASE TABLE
master dbo spt_fallback_dev BASE TABLE
master dbo spt_fallback_usg BASE TABLE
master dbo spt_monitor BASE TABLE
master dbo spt_values VIEW
6 row(s) returned
Executed in 1 ms
##Referensi
0
0
0
share