@i.chafai
Comment doit-on procéder exactement ?
Est-ce une requête SQL à lancer à la main avant la sauvegarde ?
@i.chafai
Comment doit-on procéder exactement ?
Est-ce une requête SQL à lancer à la main avant la sauvegarde ?
Bonjour,
Je suis perplexe de voir que personne n'a abordé le passage en mode de récupération "complet", avec une sauvegarde des logs ?
Vous pouvez partir sur un FULL une fois par semaine ou mois.
Et un LOG chaque jour (ou toutes les heures, ou même 5 minutes).
Les LOG sont de VRAIS différentiels : ils ne contiennent que ce qui c'est passé entre la dernière sauvegarde du LOG jusqu'au moment de la sauvegarde.
Ils restent donc à taille raisonnable à moins de faire de grosses modifications dans la base.
Seul impact : lors d'une restauration, il faut restaurer le dernier FULL plus tous les logs sauvegardées depuis.
Avantages : plus petit, permet de restaurer les données jusqu'à un instant précis (et non un fichier de backup entier), y compris si la sauvegarde n'a pas encore été faire : très pratique quand le comptable arrive transpirant dans le bureau en disant qu'il a clôturé par erreur l'exercice en cours mais qu'il a passé la matinée à saisir des données, et que la dernière sauvegarde date de la nuit
On ne jouit bien que de ce qu’on partage.
Bonjour StringBuilder,
Au risque de passer pour une bille, que je suis et assume en SQL SERVER, Quand tu parle des logs, c'est le journal de transaction? Comment fait on? (n'ai pas l'entrée dans sauvegarder et l'option est grisé dans restauration, version SQL Express) Et enfin, et surtout, rapport avec impact des FS?
Pour info, rappel, ce sont les fichiers dans le FilleStream qui posent problèmes, base.mdf 500 Mo, base_log.ldf 25 Mo, FS 5.5 Go (3400 fichier PDF qui représente une copie d'archive de chaque facture client).
Et enfin pour anticiper la question, pourquoi utiliser SQL Server si pas maitriser, réponse techno imposer par SAGE depuis qu'ils ont abandonné leurs bases propriétaires (mais qui n'assume aucune aide et support sur SQL Server)
La seule fois que j'ai poser une question à propos SQL; réponse: on ne peut pas vous répondre,rapprocher vous de votre admin SQL Pour une gamme de produit orienté pour mono-poste réseau 15-20 postes, c'est connue il y a 1 DSI, 1 admin système, 1 autre BDD...
"Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."
La sauvegarde des log (oui, des journaux de transaction) ne va pas supprimer vos documents.
En revanche, si vous avez généré 10 Mo de document aujourd'hui, la sauvegarde ne fera que 10 Mo.
Et pourtant, vous serez capable de restaurer l'intégralité de la base en cas de besoin (à condition d'avoir 1 full + tous les logs effectués depuis).
Sinon, stocker 100 To de documents dans un FS, c'est tout sauf une erreur de la part de SAGE.
C'est s'assurer que quand vous sauvegardez les factures, vous sauvegardez aussi les documents, qui sont seuls à faire fois.
C'est aussi s'assurer que si vous restaurez votre base de donnée à hier 13h28, alors les données et les documents seront exactement synchronisés. Vous n'aurez pas de PDF sans facture, ni de facture dans PDF.
On ne jouit bien que de ce qu’on partage.
ATTENTION : le journal de transaction ne comporte aucune données concernant les fichiers FILESTREAM qui ont un journal de transaction propre situé dans la racine des l'arborescence du stockage FILESTREAM et ce journal est en mode SIMPLE, sans possibilité de le mettre en mode FULL.
Néanmoins il est possible de sauvegarder le contenu des vos fichiers FILESTREAM séparément des autres données (relationnelles) de la base et de ne restaurer que le FILESTREAM....
A lire : https://codingsight.com/backup-and-r...bled-database/
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
wow, je découvre le truc !
Ça réduit quand même sacrément l'intérêt transactionnel des données FILESTREAM si on peut remonter un jeu de données à partir du log mais pas les filestream associés...
On ne jouit bien que de ce qu’on partage.
De la même façon, pas de AlwaysOn !
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Le seul moyen "safe" de réduire la base est de le faire dans le logiciel par la fonction "Sauvegarde fiscale" qui permet de supprimer les PDF de la période archivée.
Sinon on peut à intervalle régulier faire tourner un script de compression des PDF (le Filestream Sage100 n'est utilisé que pour ça) :
- Arrêter le service SQL
- Compression des PDF situés dans répertoire Filestream avec Ghostscript
Télécharger le logiciel Ghostscript et l'installer https://www.ghostscript.com/download/gsdnld.html, par exemple :
Saisir dans un fichier cmd le code suivant (code trouvé je ne sais plus où que j'ai modifié)
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 @echo off setlocal EnableDelayedExpansion rem ghostscript executable name set "ghostscript="""C:\Program Files\gs\gs9.52\bin\gswin64c.exe"""" rem directories to scan for files set "filesDir[0]="""E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\XXXXXXXXXXX\b2dbcfed-3212-4abc-b4af-8bae9b26cc62\211847f9-66be-4e63-9b71-362346cd5920"""" rem extension of files to be scanned REM set "ext=.pdf" set "ext=" rem new file be creation or input file overwrite set "createNewPDFs=0" rem file prefix for new files (if they should be created) set "filepre=compr_" rem loop over all directories defined in filesDir array for /f "tokens=2 delims==" %%d in ('set filesDir[') do ( if exist "%%~d" ( pushd "%%~d" rem loop over all files in all (sub)directories with given extension REM for /f "delims=*" %%f in ('dir "*.%ext%" /b /s /a:-d') do ( for /f "delims=*" %%f in ('dir "*%ext%" /b /s /a:-d') do ( if [%createNewPDFs%] EQU [1] ( %ghostscript% -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpf%filepre%%%~nxf" "%%~f" ) else ( %ghostscript% -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%TEMP%\%%~nxf" "%%~f" for %%t in ("%TEMP%\%%~nxf") do ( set "newSize=%%~zt" ) for %%t in ("%%~f") do ( set "oldSize=%%~zt" ) if [!newSize!] LSS [!oldSize!] ( rem new file is smaller --> overwrite move /y "%TEMP%\%%~nxf" "%%~f" ) else ( rem new file is greater --> delete it of the temp dir del "%TEMP%\%%~nxf" ) ) ) popd ) ) Modifier la ligne 5 du fichier avec le chemin de l’exécutable Ghostscript. Modifier la ligne 8 du fichier avec le chemin du répertoire contenant les PDF : Exécuter le fichier. Un exemple de durée : trois heures pour 11400 fichiers- Dans l’exemple ci-dessus le répertoire FileStream est passé de 30 Go à 2.5 Go.
Je n'ai pas constaté de problèmes pour l'instant mais je dégage toute responsabilité en cas de problème ! Certains PDF ne sont pas du tout compressés, je ne sais pas pourquoi.
Bonjour thierrybo,
C'est ce que j'ai finis par faire après un certain temps, a force de voir gonfler la taille du répertoire, sauf que je l'ai fais en manuel avec PDF24, mais je suis arrivé au même ratio de compression sans pour autant perdre en qualité des archives.
Parallèlement à cela, j'ai aussi refais la mise en page des factures en reprenant le modèle fournis dans les documents standard (ceux utilisé venait de la version précédente après avoir était ouvert puis enregistrer dans l'utilitaire de mise en page) la pour le coup j'arrive a des documents qui sorte à 300 Ko (avec le PDF Sage, avec PDF24 suis à moins de 200) Ce qui me laisse penser qu'a chaque mise à jour de version il faut repartir de zéro et que l'imprimante PDF fournis par SAGE n'est pas optimiser (mais bon je crois qu'on le savais déjà)
Enfin suite à ce déterrage, je me vais le taguer en résolus
"Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."
Salut,
Avant de taguer le thread comme RESOLU, tu ne veux pas tester une SFD postérieure à une compression des .PDF ?
C'est en tout cas ce que je vais tester sur une machine de test dans les jours qui viennent, je ne voudrais pas qu'un bug inattendu apparaisse (surtout s'il touche à la "structure" !) :
- compression des PDF du FS
- SFD
- changement d'exercice
Je viendrai témoigner du résultat des courses ici-même.
Pour info, depuis la version 2016 de SQL Server existe les fonctions de compression/decompression COMPRESS et DECOMPRESS
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Hello,
En version 'Express' également ?
Bonjour a tous les deux;
Loin de mois d'avoir la science infuse, il n'y a pas de conséquence dans le fonctionnement de SAGE:
- Les PDF s'ouvrent toujours depuis l'interface
- Dans l'explorateur de fichier, quand on accède au répertoire \\Serveur\SAGE100\NonDuDossier\Documents les factures sont bien listées avec leurs vrai nom type V-FA-Numfact.pdf
- La seule chose qui change c'est la date de modification au niveau fichier, mais comme toute modification de fichier sous n'importe quel OS (quand on fait une restauration de bases, la date de création et de modification et celle de la date de restauration.
Si cela fonctionne aussi sous la version express, il ne reste plus qu'à espérer que SAGE ce décide à mettre à jour le setup d'installation serveur, il inclus encore la version 2012 (dans la 100c6 actuel) Je ne sais ce qu'il peut se passer, si on fait un upgrade de 2012 vers 2016, quid de la compatibilité par la suite.
A Suivre...
"Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."
C'est le cas depuis les 100Cv7, c'est la version 2017 par défaut.
@thierrybo
Ce qui veut dire que refaire aujourd'hui une install complète de la 100C depuis le setup v7 installe d'office la version SQL Express 2017 avec les fonctions de compression/décompression ?
Y a t'il une possibilité de n'installer ***que*** le pack SQL Express 2017 en runnant le setup 100Cv7 (afin de conserver les paramétrages 100c) ?
Personnellement je ne voit pas pourquoi vous paniquez pour une sauvegarde de 40 Go.... En effet, avec des disques adaptés cela représente que quelques minutes de processus. Rien ne vous empêche aussi de ne conserver que la sauvegarde complète du jour (et éventuellement les sauvegardes réglementaires annuelles pour la compta après clôture du bilan) et supprimer la précédente si la nouvelle est vérifiée.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Je préfère sauvegarder 1Go dans le cloud que 40Go ... surtout si je dois le faire toutes les 3 heures ;-) !
Ca ne semble toujours pas marcher avec le dernier setup 100c/v7.00 :
L'édition Express de SQL Server ne permet pas de compresser les sauvegardes.
Note que dans la capture d'écran, tu nous montres la version de SQL Server Management Studio, pas de l'instance.
pour la connaitre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select @@version
Dernière modification par Invité ; 11/03/2021 à 16h08.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager