Dalla nascita del progetto Mono allo stato attuale, SQL Server vNext costituisce un punto di arrivo importante.

Il database Microsoft installato su Server Linux. Configurare su cloud Azure, con l’utilizzo di server virtuali, un server RHEL ed installare SQL Server per Linux è una operazione semplice e non necessita di particolari conoscenze sistemistiche.
Di seguito un breve tutorial spiega come istallare SQL Server vNext CTP 1.3 su RHEL 7.3. Configurato il server virtuale Linux su Azure, aprire una shell bin/bash e impostare l’ambiente per eseguire i comandi come superuser:

sudo su

scaricare il file di configurazione dalla repository microsoft, come segue:

curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssqlserver.
repo

uscire dalla modalità superuser (exit) e, per istallare, eseguire il comando:

sudo yum install -y mssql-server

finita l’istallazione, inizia la configurazione iniziale di SQL Server che deve essere lanciate tramite il comando:

sudo /opt/mssql/bin/mssql-conf setup

sui successivi prompt è necessario configurare una adeguata password per il System Administrator (SA). Gli strumenti di SQL Server come ad esempio SQL Server Management Studio non sono ancora istallabili direttamente sul server Linux, pertanto per poterli utilizzare occorre connettersi da remoto. A tal fine sul Server Linux occorre abilitare la possibilità a connessioni remote alla porta standard TCP 1433. Se ad esempio si utilizza “FirewallID“,come firewall, digitare i comandi seguenti:

sudo firewall-cmd –zone=public –add-port=1433/tcp –permanent
sudo firewall-cmd –reload

Capture

E’ consigliabile anche aggiornare SQL Server alla versione più recente con il comando “sudo yum update mssql-server”.
Poco sopra si è detto che I tool grafici non sono disponibili per Linux. Tuttavia la Microsoft fornisce la possibilità di istallare diversi tools a riga di comando per la shell di linux. Per istallare i “mssql-tools” basta, sempre in modalità superuser eseguire i comandi:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo (per scaricare il package dalla repository).
sudo yum update
sudo yum install mssql-tools unixODBC-devel

se ci sono precedenti versioni dei Tools occorre, prima di istallare i nuovi, disinstallare i vecchi unixODBC packages.

sudo yum update
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

Per rendere disponibile il comando sulla shell dell’utente occorre modificare il file “~/.bash_profile” eseguendo il comando:

echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bash_profile

Per le sessione della shell per il controllo remoto occorre abilitare la variabile di ambiente sula file “~/.bashrc” con il comando:

echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
source ~/.bashrc

Al fine della sessione di istallazione controlliamo che il servizio di SQL Server vNext sia attivo: “systemctl status mssql-server”.
Creata la nostra istanza SQL Server su linux, possiamo provare la connessione al database. L’istallazione dei SQL Server Tools mette a disposizione il comando sqlcmd, con il quale è possibile connettersi a SQL Server da terminale, digitando: sqlcmd -S localhost -U SA -P ‘password configurata in precedenza’.E anche per la connessione da remoto, vedremo poi perché: sqlcmd -S -U SA -P ”password configurata in precedenza’.
Creare database, eseguire query, creare Transact-SQL, è del tutto identico alla modalità già utilizzata su sistemi windows. Come già detto, per Linux, non sono disponibili ancora strumenti grafici, se escludiamo alcune futures di Visual Studio Code. E’ possibile connettersi e gestire il SQL Server VNext da sistema Windows sia con SQL Server Management Studio (SSMS), sia tramite PowerShell nonché tramite SQL Server Data Tools (utilizzabili da Visual Studio Code o da qualsiasi altro Visual Studio).

facebook_1489744767947
Come si esegue il backup di SQL Server vNext CTP 1.3? Come possiamo eseguirlo da remoto ? Possiamo eseguire il backup con gli stessi strumenti a riga di comando utilizzati sotto macchine windows. Se ci troviamo sul server Linux il backup può essere completato tramite il comando sqlcmd, come da esempio seguente:

sqlcmd -H localhost -U SA -Q “BACKUP DATABASE [demodb] TO DISK = N’var/opt/mssql/data/demodb.bak’ WITH NOFORMAT, NOINIT, NAME = ‘demodb-full’, SKIP, NOREWIND, NOUNLOAD, STATS = 10″

Da Windows, con connessione da remoto verso l’istanza di SQL Server vNext su Linux, il backup può essere eseguito tramite funzionalità standard di SSMS. Il backup è identico per tutti i tipi di sistemi e può essere eseguito sia in locale, sia su dischi remoti sia su Azure. Tuttavia configurare un backup sistematico e incrementale tramite gli strumenti di SQL Server è complesso e richiede conoscenze da SQL Administrator.

Un software come Iperius Backup consente certamente di semplificare molto le prerogative di backup della propria base di dati, perché ha piena compatibilità con tutte le versioni di SQL Server, una configurazione semplice, e caratteristiche avanzate che consentono un maggiore controllo e una ampia flessibilità nella scelta delle destinazioni del backup. La modalità di backup di una database SQL Server vNEXT è la stessa descritta nell’articolo http://www.iperiusbackup.net/come-fare-backup-di-database-sql-server/. Basta un computer Windows in rete e creare, su Iperius Backup, un account di connessione al nostro SQL Server su Linux, precedentemente installato. Verificato che la connessione al database funzioni possiamo passare alle successive configurazioni. Selezionando l’account è possibile scegliere se fare il backup di tutti i database in linea o di uno specifico database (possiamo acneh specificare diversi database separandone i nomi con una virgola).

Il backup può essere salvato sul percorso di default di SQL Server, ma la cosa più interessante è, senza dubbio, la possibilità di salvare il backup su supporti esterni al server Linux come Server FTP, NAS, supporti USB e su Cluod (Azure, Google Drive, Dropbox, Amazon S3, ecc…) oppure sul computer locale nel quale è presente l’installazione di Iperius Backup (attraverso una condivisione di rete sul server Linux). Infine, altre importanti caratteristiche, che giustificano senz’altro l’utilizzo di un software dedicato, sono il mantenimento dei log dei backup, e le notifiche tramite email per essere sempre informati del buon esito dei backup.



Backup SQL SERVER vNext CTP 1.3 su RED HAT Enterprise Linux
Iperius Team

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>