Macchina MSSQL Server: differenze tra le versioni

Da Webmobili Wiki.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(36 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{#breadcrumb: Amazon_Web_Services | Macchina MySQL Database Server}}
<!-- {{#breadcrumb: Amazon_Web_Services | Macchina MySQL Database Server}} -->
Fonte: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver16&tabs=ubuntu2204<br/>
Fonte: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver16&tabs=ubuntu2204<br/>


Riga 16: Riga 16:


sudo apt update
sudo apt update
sudo apt-get install -y mssql-server
sudo apt-get install -y mssql-server mssql-server-fts
sudo /opt/mssql/bin/mssql-conf setup
sudo /opt/mssql/bin/mssql-conf setup


Riga 22: Riga 22:
</syntaxhighlight>
</syntaxhighlight>


Prima di restorare qualsiasi database, lanciare
Prima di restorare qualsiasi database,<br/>
è importanto settare la '''default collation''' lanciando
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Stoppare il servizio
# Stoppare il servizio
Riga 39: Riga 40:


'''Importante''': il parametro ''Server name'' non deve avere <del>localhost</del> ma <code>127.0.0.1</code>
'''Importante''': il parametro ''Server name'' non deve avere <del>localhost</del> ma <code>127.0.0.1</code>
== Condivisione Samba ==
Per avere accesso al file system di questa macchina condividiamo i folder tramite '''Samba'''.<br/>
Sarà possibile accedervi solo passando dalla rete interna, dalla macchina <code>IIS</code>
Liberare la '''porta del gruppo di sicurezza''' <code>445</code> (si trova nei preconfigurati col nome <code>Samba</code>)
<syntaxhighlight lang="bash">
# Creare una cartella di condivisione dei backup
sudo mkdir /opt/mssql/backup
# Creare l'utente designbest
sudo adduser designbest
# password la solita: W3bm0b1l!
# Aggiungere designbest al gruppo dei sudoers e di mssql
sudo adduser designbest sudo
sudo adduser designbest mssql
# Assegnare i corretti permessi alla cartella dei backup
sudo chown designbest:mssql /opt/mssql/backup -R
sudo chmod 775 /opt/mssql/backup -R
# Installare Samba
sudo apt install samba cifs-utils
# Aggiungere l'utente a Samba
sudo smbpasswd -a designbest
</syntaxhighlight>
Poi editare il file di configurazione principale
<syntaxhighlight lang="bash">sudo nano /etc/samba/smb.conf</syntaxhighlight>
andare al fondo e aggiungere una sezione
<pre>
[DatabaseBackup]
  comment = Cartella di condivisione dei backup dei database
  read only = no
  locking = yes
  path = /opt/mssql/backup
  guest ok = no
</pre>
specificando in ''path'' la cartella da condividere.
Cambiare l'<code>hostname</code> con un nome ''"amico"''
<syntaxhighlight lang="bash">
sudo nano /etc/hostname
</syntaxhighlight>
ad esempio <code>mssql</code>
Restartare il servizio
<syntaxhighlight lang="bash">
sudo systemctl restart smbd
</syntaxhighlight>
Il '''collegamento a SAMBA da Windows non funziona''' perché [[Macchina_IIS_Web_Server#SAMBA_abilitazione|di default è disattivato]].
https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/guest-access-in-smb2-is-disabled-by-default
== Licenza ==
* '''CAL (5 utenti)''' <p><code>FG86G-CHH2T-CB7NJ-XT7D2-V8V4X</code><br/>
Acquistata da [https://macrosoft.store/it/ MACROSOFT] con l'account di Cerutty.<br/>
Non la usiamo più, ha il limite degli utenti.</p>
* '''Standard 16 Core''' <p><code>BDJ3K-DRFGP-CNVTG-QHK7F-FC6B6</code><br/>
Acquistata da [https://lalicenza.it LALICENZA] con l'account di Vinci (<span style="font-family:monospace;font-size:0.7rem">s.vincenzi@webmobili.it - W3bm0b1l!</span>).</p>
Per verificare i '''core''' visibili ed effettivamente assegnati, usare
<syntaxhighlight lang="sql>
SELECT scheduler_id, cpu_id, status, is_online FROM sys.dm_os_schedulers
GO
</syntaxhighlight>
Altro script che fa un check di quelle utilizzabili.
<syntaxhighlight lang="sql">
----------------------------------------------------------------------------------------------------------------
-- CPU VISIBLE ONLINE CHECK
----------------------------------------------------------------------------------------------------------------
DECLARE @OnlineCpuCount int
DECLARE @LogicalCpuCount int
SELECT @OnlineCpuCount = COUNT(*) FROM sys.dm_os_schedulers WHERE status = 'VISIBLE ONLINE'
SELECT @LogicalCpuCount = cpu_count FROM sys.dm_os_sys_info
SELECT @LogicalCpuCount AS 'ASSIGNED ONLINE CPU #', @OnlineCpuCount AS 'VISIBLE ONLINE CPU #',
  CASE
    WHEN @OnlineCpuCount < @LogicalCpuCount
    THEN 'You are not using all CPU assigned to O/S! If it is VM, review your VM configuration to make sure you are not maxout Socket'
    ELSE 'You are using all CPUs assigned to O/S. GOOD!'
  END as 'CPU Usage Desc'
----------------------------------------------------------------------------------------------------------------
GO
</syntaxhighlight>
== Aggiornamenti ==
⚠ Prestare attenzione, quando si aggiorna questa macchina col comando
<syntaxhighlight lang="bash">
sudo apt update && sudo apt upgrade -y
</syntaxhighlight>
il database rimane in down per circa 5/10 minuti, aggiornare solo in pausa pranzo o di sera.


[[Category:AWS]]
[[Category:AWS]]

Versione attuale delle 09:03, 30 lug 2025

Fonte: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver16&tabs=ubuntu2204

Creare un' istanza privata con almeno 2GB di RAM (min t2.small)

Assegnare all'istanza il Ruolo IAM creato in precedenza
IAM_Identity_Center#Assegnare_Ruolo_IAM_alle_istanze_EC2

sudo apt update
sudo apt upgrade

curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

sudo apt update
sudo apt-get install -y mssql-server mssql-server-fts
sudo /opt/mssql/bin/mssql-conf setup

sudo systemctl status mssql-server --no-pager

Prima di restorare qualsiasi database,
è importanto settare la default collation lanciando

# Stoppare il servizio
sudo systemctl stop mssql-server

# Eseguire il comando a servizio stoppato
sudo /opt/mssql/bin/mssql-conf set-collation

# Startare il servizio
sudo systemctl start mssql-server

e digitare Latin1_General_CI_AS

Sql Management Studio

[modifica]

Per collegarsi da Sql Management Studio utilizzare aws cli per creare il port forwarding verso la porta 1433

Importante: il parametro Server name non deve avere localhost ma 127.0.0.1

Condivisione Samba

[modifica]

Per avere accesso al file system di questa macchina condividiamo i folder tramite Samba.
Sarà possibile accedervi solo passando dalla rete interna, dalla macchina IIS

Liberare la porta del gruppo di sicurezza 445 (si trova nei preconfigurati col nome Samba)

# Creare una cartella di condivisione dei backup
sudo mkdir /opt/mssql/backup

# Creare l'utente designbest
sudo adduser designbest
# password la solita: W3bm0b1l!

# Aggiungere designbest al gruppo dei sudoers e di mssql
sudo adduser designbest sudo
sudo adduser designbest mssql

# Assegnare i corretti permessi alla cartella dei backup
sudo chown designbest:mssql /opt/mssql/backup -R
sudo chmod 775 /opt/mssql/backup -R

# Installare Samba
sudo apt install samba cifs-utils
# Aggiungere l'utente a Samba
sudo smbpasswd -a designbest

Poi editare il file di configurazione principale

sudo nano /etc/samba/smb.conf

andare al fondo e aggiungere una sezione

[DatabaseBackup]
  comment = Cartella di condivisione dei backup dei database
  read only = no
  locking = yes
  path = /opt/mssql/backup
  guest ok = no

specificando in path la cartella da condividere.

Cambiare l'hostname con un nome "amico"

sudo nano /etc/hostname

ad esempio mssql


Restartare il servizio

sudo systemctl restart smbd

Il collegamento a SAMBA da Windows non funziona perché di default è disattivato.

https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/guest-access-in-smb2-is-disabled-by-default

Licenza

[modifica]
  • CAL (5 utenti)

    FG86G-CHH2T-CB7NJ-XT7D2-V8V4X

Acquistata da MACROSOFT con l'account di Cerutty.

Non la usiamo più, ha il limite degli utenti.

  • Standard 16 Core

    BDJ3K-DRFGP-CNVTG-QHK7F-FC6B6

Acquistata da LALICENZA con l'account di Vinci (s.vincenzi@webmobili.it - W3bm0b1l!).

Per verificare i core visibili ed effettivamente assegnati, usare

SELECT scheduler_id, cpu_id, status, is_online FROM sys.dm_os_schedulers 
GO

Altro script che fa un check di quelle utilizzabili.

----------------------------------------------------------------------------------------------------------------
-- CPU VISIBLE ONLINE CHECK
----------------------------------------------------------------------------------------------------------------
DECLARE @OnlineCpuCount int
DECLARE @LogicalCpuCount int

SELECT @OnlineCpuCount = COUNT(*) FROM sys.dm_os_schedulers WHERE status = 'VISIBLE ONLINE'
SELECT @LogicalCpuCount = cpu_count FROM sys.dm_os_sys_info 

SELECT @LogicalCpuCount AS 'ASSIGNED ONLINE CPU #', @OnlineCpuCount AS 'VISIBLE ONLINE CPU #',
   CASE 
     WHEN @OnlineCpuCount < @LogicalCpuCount 
     THEN 'You are not using all CPU assigned to O/S! If it is VM, review your VM configuration to make sure you are not maxout Socket'
     ELSE 'You are using all CPUs assigned to O/S. GOOD!' 
   END as 'CPU Usage Desc'
----------------------------------------------------------------------------------------------------------------
GO

Aggiornamenti

[modifica]

⚠ Prestare attenzione, quando si aggiorna questa macchina col comando

sudo apt update && sudo apt upgrade -y

il database rimane in down per circa 5/10 minuti, aggiornare solo in pausa pranzo o di sera.