Uzun bir süredir bizimde beklediğimiz SQL Server on Linux Mart ayında anons edilmişti. Kasım ayında ise SQL Server vNext CTP1 karşımıza geliyor.
In-Memory OLTP, in-memory columnstore, Transparent Data Encryption, Always Encrypted ve Row-Level Security gibi gelişmiş özellikler de dahil olmak üzere ilişkisel veritabanı motorunun tüm önemli özellikleri artık Linux’a geldi. Gözlemlediğim kadarıyla MsSQL’in çekirdek yapısına dokunulmadığı, bunun yerine sadece librarylerin Linux platformu için geliştirildiğini söyleyebilirim.
SQL Server vNext, Linux, Docker ve MacOS (Docker ile) ve Windows üzerine on-premises kurulumlar yapılabiliyor. İstenirse Azure üzerinden Cloud kullanımda sağlayabiliyoruz.
SQL Server vNext CTP1 desteklediği Linux based sistemler,
- Redhat/Centos
- Ubuntu
- SUSE Linux Enterprise Server
- Docker Engine (docker imaj)
Gereksinimler,
- Minimum 3.25GB bellek.
- Ubuntu 16.04 ‘ü buradan indirebilirsiniz.
- Microsoft SQL Server’in desteklendiği işletim sistemlerine ait repoları buradan inceleyebilirsiniz.
- Komutları uygulamak için Putty kullandım. İsterseniz Putty’i buradan indirip daha hızlı ilerleyebilirsiniz.
MSSQL servisini Linux’e kurmak açıkcası Windows’a kurmaktan daha kolay ve hızlı. Aşağıdaki basit adımları tamamlayarak kurulumu kısa sürede gerçekleştirebilirsiniz.
1) Public repo keyini import ediyoruz.
sudo sh -c "curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -"
2) Microsoft SQL Server Ubuntu repositorysini ekliyoruz.
sudo sh -c "echo deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server xenial main > /etc/apt/sources.list.d/sql-server.list" sudo sh -c "echo deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/prod xenial main >> /etc/apt/sources.list.d/sql-server.list"
3) Paketleri güncelleyip kuruluma geçiyoruz.
sudo apt-get update sudo apt-get install mssql-server mssql-tools -y
4) Kurulum işlemlerinde MSSQL Tool lisanslarını onaylayarak son adıma geçiyoruz.
4) MsSQL Yapılandırma scriptini çalıştırıyoruz.
Kurulumdan sonra çalıştırılması gereken komutu bir üst resimde de görüyoruz.
sudo /opt/mssql/bin/sqlservr-setup
Yapılandırma işlemlerinnde sırasıyla,
- Lisansı onaylıyoruz (yes)
- SA parolasını belirtiyoruz
- SQL Server servisini başlatılmasını sağlıyoruz (y)
- Reboot işleminde otomatik başlatmayı enable ediyoruz (y)
Kurulum ve yapılandırma işlemleri tamamlandı.
Servis durumunu kontrol edebiliriz.
systemctl status mssql-server
Desteklenmeyen Özellikler ve Servisler
Database engine | Full-text Search |
Replication | |
Stretch DB | |
Polybase | |
Distributed Query | |
System extended stored procedures (XP_CMDSHELL, etc.) | |
Filetable | |
High Availability | Always On Availability Groups |
Database mirroring | |
Security | Active Directory authentication |
Windows Authentication | |
Extensible Key Management | |
Use of user-provided certificate for SSL or TLS | |
Services | SQL Server Agent |
SQL Server Browser | |
SQL Server R services | |
StreamInsight | |
Analysis Services | |
Reporting Services | |
Integration Services | |
Data Quality Services | |
Master Data Services |
MsSQL Kullanım Örnekleri
SQL’e bağlanma,
sqlcmd -S localhost -U SA -P Parola
Database oluşturma,
CREATE DATABASE MAESTRO
GO
Bütün DATABASE’leri görüntüleme,
SELECT Name from sys.Databases
Database’e geçiş,
USE MAESTRO
GO
Tablo oluşturma ve sütun ekleme,
CREATE TABLE maestroTABLO (id INT, Version NVARCHAR(10), Built NVARCHAR(10)) GO
Değer tanımlama,
INSERT INTO maestroTABLO VALUES (1, '1.0.6', '271') INSERT INTO maestroTABLO VALUES (2, '1.0.6', '300') GO
SELECT * FROM maestroTABLO GO
Bonus
# Uygulama gelişticiler , MsSQL ile geliştirmek için Microsoft’un hazırladığı başarılı bu sihirbaz size kolaylık sağlayacak. Buradan SQL başlangıç sihirbazına ulaşabilirsiniz.
Başlangıç sihirbazında aşağıda yer alan diller yer almaktadır.
# MsSQL Server için driver kütüphanesine tablodan ulaşabilirsiniz.
Dil | Platform | Kaynaklar | Download |
---|---|---|---|
C# | Windows, Linux, macOS | Microsoft ADO.NET for SQL Server | Download |
Java | Windows, Linux, macOS | Microsoft JDBC Driver for SQL Server | Download |
PHP | Windows, Linux | PHP SQL Driver for SQL Server | Operating System: * Windows * Linux |
Node.js | Windows, Linux, macOS | Node.js Driver for SQL Server | Install |
Python | Windows, Linux, macOS | Python SQL Driver | Install choices: * pymssql * pyodbc |
Ruby | Windows, Linux, macOS | Ruby Driver for SQL Server | Install |
C++ | Windows, Linux | Microsoft ODBC Driver for SQL Server | Download |
# TechNet Sanal labları kullanarak denemeler yapabilirsiniz.
Buradan Linux yöneticileri için MsSQL Server Labına buradan da Ms SQL Server yöneticileri Lab sayfasına ulaşabilirsiniz.
# SQL Server Data Tools ile MsSQL Server kurulu olmadan lokal ortamda database düzenlemesi yapabilirsiniz.
Buradan ilgili aracı indirebilirsiniz.
#Linux için yeni komut satırı araçlarını indeleyebilirsiniz.
Visual Studio Code üzerinde SQL çalışması için eklentiye buradan ulaşabilirsiniz.
- Visual Studio Code Kullanımı