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
Validation:
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
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
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
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
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://www.server-world.info/en/note?os=Ubuntu_22.04&p=realmd