DBM1 labo1 - IlanRuiz/Cours-TechES GitHub Wiki

Questionnaire

1.Quelle édition de SQL Server est disponible gratuitement ?

Edition developpeur

2.Quelles propriétés doit posséder le compte d'utilisateur Windows utilisé pour les services SQL Server ?

  • B. Appartenir au groupe des administrateurs du poste
  • D. Être un compte d'utilisateur défini localement

3.Si deux instances SQL Server sont installées sur le même poste, combien d'instances du service SQL Server Agent vont être définies:

  • B. 2

4.Le service d'indexation de texte intégral est-il commun à toutes les instances installées sur le poste ?

  • A. Oui

5.Quelles éditions de SQL Server permettent d'être abonné à un service de réplication ?

Toutes les éditions le permettent.

6.Quel programme faut-il lancer pour installer une nouvelle instance de SQL Server?

  • B. Ajout/suppression de programmes depuis le panneau de configuration
  • C. Setup.exe depuis le DVD d'installation de SQL Server

7.Quel est le mode de sécurité défini par défaut lors de l'installation d'une instance de SQL Server ?

  • A. Mode de sécurite Windows

8.*Quelle base d'exemple est installée de façon automatique sur toute nouvelle instance de SQL Server 2016 ?*9

  • A. Aucune

Choisir l'édition de SQL Server

SQL Server 2022 (16.x) – Linux sera l'édition choisi pour les laboratoires

Elle sera installé sur une machine ubuntu 20.04. Le choix de cette version est due à authentification AD pour le laboratoire 3.

Installer une instance de SQL Server sur Linux

Se connecter avec un utilisateur ayant des droits admin (utilisation sudo ou SU)

Ajouter les clefs de dépôt

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
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

Mettre à jour les dépôts

apt-get update

Installer SQL server

apt-get install -y mssql-server

Configuration de base

Lancer la configuration de base du service

/opt/mssql/bin/mssql-conf setup

Choisir la version developer

Attribution d'un mdp du compte sa: Motd3Pa$$e

Par-feu

Ouvrir le port par défaut utilisé par le service (1433)

ufw allow 1433

Validation

input:

systemctl status mssql-server --no-pager

output:

ubu@dbm1-lin-sqlsrv:~$ sudo systemctl status mssql-server --no-pager
[sudo] password for ubu:
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-01-22 13:14:29 CET; 9min ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 872 (sqlservr)
      Tasks: 170
     Memory: 1.9G
        CPU: 20.203s
     CGroup: /system.slice/mssql-server.service
             ├─ 872 /opt/mssql/bin/sqlservr
             └─1103 /opt/mssql/bin/sqlservr

Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [66B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [75B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [96B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [100B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [71B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [124B blob data]
Jan 22 13:19:38 dbm1-lin-sqlsrv sqlservr[1103]: [75B blob data]
Jan 22 13:20:24 dbm1-lin-sqlsrv sqlservr[1103]: [156B blob data]
Jan 22 13:20:24 dbm1-lin-sqlsrv sqlservr[1103]: [195B blob data]
Jan 22 13:21:41 dbm1-lin-sqlsrv sqlservr[1103]: [71B blob data]

Microsoft SQL Server Management Studio

Récupérer l'exécutable sur le site de Microsoft: https://aka.ms/ssmsfullsetup

Laisser le chemin d'installation par défaut

Accéder à la console

image-20240125194119077

image-20240125194446770

Validation:

image-20240125194516620

Installer la base d'exemple

Serveur Linux sql

Téléchrager sur le serveur sql la base de donnée test Adventureworks sur le site de microsoft: https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2022.bak

Utiliser la commande wget

Déplacer le fichier .bak sous /var/opt/mssql/data/

Note: Passer en super user pour déplacer le fichier

Machine windows

Se connecter à la console sql sur windows

Préparer une nouvelle requet

image-20240125194232277

Exécuter la requet suivante pour importer la nouvelle base de donnée AdventureWorks

USE [master];
GO
RESTORE DATABASE [AdventureWorks2022]
FROM DISK = 'AdventureWorks2022.bak'
WITH
    MOVE 'AdventureWorks2022' TO '/var/opt/mssql/data/AdventureWorks2022.mdf',
    MOVE 'AdventureWorks2022_log' TO '/var/opt/mssql/data/AdventureWorks2022_log.ldf',
    FILE = 1,
    NOUNLOAD,
    STATS = 5;
GO

Installer un Domaine Windows Serveur

Installation du service ADDS sur le serveur windows

Extrait du script d'installation en powershell

#
# Windows PowerShell script for AD DS Deployment
#

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath "C:\Windows\NTDS" `
-DomainMode "WinThreshold" `
-DomainName "dbm.irs" `
-DomainNetbiosName "DBM" `
-ForestMode "WinThreshold" `
-InstallDns:$true `
-LogPath "C:\Windows\NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "C:\Windows\SYSVOL" `
-Force:$true

Promouvoir le serveur en contrôleur de domain

Ajouter un redirecteur DNS pour que les clients du LAN ai accès à internet

image-20240125195408690

Joindre serveur linux au domain

Sur la machine Linux, appliquer la configuration réseaux requis pour pouvoir interroger le serveur DNS de l'AD.

network:
  ethernets:
    ens33:
      addresses:
      - 192.168.6.150/24
      gateway4: 192.168.6.2
      nameservers:
        addresses: [192.168.6.151]
        search: [dbm.local]
  version: 2

Sur l'AD, ajouter les enregistrement DNS requis requis pour la machine linux

image-20240325111147197

image-20240325111212475

Effectuer un ping des points suivant pour valider la configuration

ping dbm.local
ping srvad.dbm.local
nslookup 192.168.6.151

Installer les parquets requis pour joindre le domain

sudo apt-get install realmd krb5-user software-properties-common python3-software-properties packagekit
sudo apt-get install adcli libpam-sss libnss-sss sssd sssd-tools

Entrer le nom du realm en majuscule

Vérifier dans le fichier /etc/krb5.conf que les informations sont correcte

Faire un realm discover pour valider

ubu@srvdbm:~$ realm discover dbm.local
dbm.local
  type: kerberos
  realm-name: DBM.LOCAL
  domain-name: dbm.local
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %[email protected]
  login-policy: allow-realm-logins
ubu@srvdbm:~$

Changer le nom d'hote de la machine linux en ajouter le nom de domaine

sudo hostname srvdb.dbm.local

Joindre le domaine

sudo realm join dbm.local -U '[email protected]' -v

Informations côté AD

image-20240325111928546

Sources

https://learn.microsoft.com/fr-fr/sql/linux/sql-server-linux-release-notes-2022?view=sql-server-2017

https://learn.microsoft.com/fr-fr/sql/linux/sql-server-linux-setup?view=sql-server-2017#system

https://learn.microsoft.com/fr-fr/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&preserve-view=true&tabs=ubuntu2204#install

https://learn.microsoft.com/fr-fr/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017

https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms

https://www.server-world.info/en/note?os=Ubuntu_22.04&p=realmd