{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/","llm_html_url":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/llm","llm_json_url":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"Meilleures pratiques de sécurité SQL Server pour une application installée sur SQL Server\n\n &#8211; Serveur d&rsquo;impression","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2020-01-13T00:31:33+00:00","modified_at":"2020-01-13T00:31:33+00:00","word_count":3105,"reading_time_seconds":932,"summary":"Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller Problème Nous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié, idéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications. Mais dans la vraie vie, il y a parfois des [&hellip;]","summary_points":["Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller\n\nProblème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications.","Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine.","Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#39;environnement.","Cela pourrait également s&#39;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur."],"topics":["Serveur d'impression"],"entities":[],"entities_metadata":[{"id":10,"name":"Serveur d'impression","slug":"serveur-dimpression","taxonomy":"category","count":3907,"url":"https://tutos-gameserver.fr/category/serveur-dimpression/"}],"tags":["Serveur d'impression"],"content_hash":"02595f6faffceaa0e5adf71f7db0df67","plain_text":"Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller\n\nProblème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications. Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine. Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#39;environnement. Cela pourrait également s&#39;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur.\nComment verrouiller SQL Server? Comment pouvons-nous nous assurer que notre serveur est sécurisé et\nprotégé contre les accès externes?\nSolution\nDans cette astuce, nous fournirons des recommandations pour renforcer l&#39;installation de SQL Server\npour la configuration où SQL Server n&#39;est accessible que par l&#39;application installée\nsur le même serveur. Dans la plupart des cas, il s&#39;agit d&#39;un serveur autonome qui n&#39;est même pas joint à un domaine. Nous fournirons des exemples et des scripts pour la configuration des autorisations minimales requises\npour les sauvegardes et la maintenance des bases de données.\nÉtapes de pré-installation\nPar défaut, si vous ne créez pas le dossier pour SQL Server à l&#39;avance, le\nLes dossiers de données auront certaines des autorisations héritées du dossier parent.\nLe groupe local &quot;Utilisateurs&quot; (COMPUTERNAME  Users) aura des autorisations de lecture\naux dossiers:\n\n\t\n\nAvant de commencer l&#39;installation, nous créerons des données, des sauvegardes et d&#39;autres dossiers\net assurez-vous que seuls les administrateurs ont accès à ces dossiers.\nNous allons d&#39;abord créer les nouveaux dossiers et désactiver l&#39;héritage des autorisations:\n\n\t\n\nConvertir les autorisations en autorisations explicites lorsque vous y êtes invité et supprimer le local\n&quot;Utilisateurs&quot;\nAutorisations du groupe (&quot;Lire et exécuter&quot; et &quot;Spécial&quot;):\n\n\n\t\n\nLes comptes de service SQL Server recevront les autorisations requises lors de l&#39;installation\nplus tard, nous n&#39;avons donc pas besoin de le faire maintenant.\nLes autorisations du système de fichiers requises pour les comptes de service SQL ont été trouvées\n\nici.\nInstallation de SQL Server\nDémarrez l&#39;installation de SQL Server comme vous le faites habituellement. Suivez les invites d&#39;installation jusqu&#39;à\nÉcran &quot;Sélection des fonctionnalités&quot;.\nSur l&#39;écran de sélection des fonctionnalités, assurez-vous que seuls les «services du moteur de base de données»\nest sélectionné:\n\n\t\n\nNe sélectionnez pas les fonctionnalités habituelles que vous installez habituellement, telles que: Outils SQL Server,\nRecherche plein texte, etc.\nRemarque: que le texte intégral peut être requis pour votre\nou reportez-vous à la documentation de votre fournisseur pour connaître les exigences relatives aux fonctionnalités de SQL Server.\n\nEn outre, nous supposons qu&#39;il s&#39;agit d&#39;une application simple qui ne nécessite qu&#39;une base de données\nfonction moteur (pas de SSRS, SSAS, etc.).\nNous voulons réduire la surface de sécurité, donc l&#39;Agent SQL Server et le Navigateur SQL Server\nsera également désactivé. Toutes les tâches de maintenance et de sauvegarde planifiées s&#39;exécuteront sous Windows\nTâches planifiées qui seront configurées ultérieurement:\n\n\t\n\nGardez les comptes de service par défaut. Lis\n\ncette Article de Microsoft sur les comptes de service et les autorisations nécessaires\npour les comptes.\nSi l&#39;application prend en charge l&#39;authentification Windows &#8211; conservez l&#39;authentification par défaut\nMode (Windows).\nUtilisez le répertoire (ou les répertoires si vous utilisez plusieurs lecteurs) que nous avons créé\navant de commencer l&#39;installation:\n\n\t\n\nTerminez l&#39;installation.\nLis\n\ncette astuce pour le Guide d&#39;installation pas à pas complet de SQL Server 2017.\n\nConfiguration de la sécurité de SQL Server\nNous allons configurer ici certaines des fonctionnalités de sécurité.\nDésactivez tous les protocoles réseau à l&#39;exception de la &quot;mémoire partagée&quot;:\n\n\t\n\nValidez dans SQL Server Configuration Manager que tous les services sauf &quot;SQL&quot;\nServeur &quot;sont désactivés:\n\n\t\n\nMasquez l&#39;instance à l&#39;aide de SQL Server Configuration Manager. Lis\n\ncette astuce sur le masquage des instances SQL Server.\n\n\t\n\n\nAssurez-vous que l&#39;accès à distance est désactivé:\n\nUTILISATION [master]ALLEREXEC sys.sp_configure N&#39;remote access &#39;, N&#39;0&#39;ALLERRECONFIGURER AVEC OVERRIDEALLER\r\n\n\nActivez les stratégies de mot de passe locales si vous configurez SQL Server sur un serveur autonome\nserveur. Les serveurs joints au domaine doivent hériter des stratégies de domaine, vous pouvez donc ignorer\ncette étape pour les serveurs qui font partie du domaine Active Directory. Le mot de passe\nles stratégies pour le domaine sont généralement configurées par vos administrateurs système.\nSur un serveur autonome:\nDémarrer la console MMC\nCliquez sur &quot;Fichier&quot;&gt; &quot;Ajouter / Supprimer un composant logiciel enfichable…&quot;\nSélectionnez &quot;Éditeur d&#39;objets de stratégie de groupe&quot;, cliquez sur &quot;Ajouter&quot;, confirmez\nla sélection d&#39;objet de stratégie de groupe &quot;Ordinateur local&quot;:\n\n\t\n\nCliquez sur OK&quot;\nSous &quot;Stratégie de l&#39;ordinateur local&quot;, développez &quot;Configuration de l&#39;ordinateur&quot;,\npuis &quot;Paramètres Windows&quot;, puis &quot;Paramètres de sécurité&quot;, &quot;Compte\nPolitiques &quot;,&quot; Politique de mot de passe &quot;\nModifiez les politiques à droite pour appliquer des mots de passe forts:\n\n\t\n\nEn savoir plus sur la configuration des stratégies de mot de passe locales sous Windows\n\nici. Lis\n\ncette article sur les stratégies de mot de passe SQL Server.\nLaissez la console MMC ouverte pour les étapes suivantes.\nAutres étapes de post-installation\nInstallez les derniers correctifs et correctifs (y compris les correctifs Windows).\nDéfinissez un mot de passe fort, renommez et désactivez la connexion &quot;sa&quot;.\n\n\nCette astuce possède une liste de contrôle de sécurité pour SQL Server. Assurez-vous d&#39;avoir examiné le\nliste de contrôle et\n\ncette guide de sécurité pour toutes les configurations de sécurité supplémentaires qui pourraient être\nobligatoire.\nCréation de compte de service de maintenance\nNous allons créer un compte de service local pour exécuter la maintenance SQL Server planifiée\nTâches (mise à jour des statistiques, sauvegarde des bases de données, etc.). Nous allons utiliser l&#39;ordinateur\nOutil de gestion sur notre serveur SQL pour cela:\n\n\t\n\nCe compte de service exécutera les tâches planifiées de Windows. L&#39;utilisateur n&#39;a pas besoin\nêtre membre de tout groupe, mais il doit avoir\n\n&quot;Se connecter en tant que tâche par lots&quot; autorisations locales afin d&#39;exécuter des travaux Windows.\nRevenez à la console MMC pour attribuer la stratégie «Se connecter en tant que tâche par lots»\nsur le compte de service:\n\n\t\n\nCliquez sur le bouton &quot;Ajouter un utilisateur ou un groupe…&quot; et ajoutez &quot;SQLTaskTest&quot;\nutilisateur que nous avons créé précédemment:\n\n\t\n\nAutorisations de compte du service de maintenance sur SQL Server et les bases de données\nCe sont les autorisations minimales requises pour le compte de service pour exécuter le\nsauvegarde des bases de données et tâches de maintenance:\n\nUTILISATION [master]ALLERCRÉER UNE CONNEXION [LOCALSRVNAMESQLTaskTest] DE WINDOWS DEFAULT_DATABASE =[master], CHECK_EXPIRATION = OFF, CHECK_POLICY = ONALLERUTILISATION [_Demo] - pour chaque base de données sauf tempdbALLERCRÉER UN UTILISATEUR [LOCALSRVNAMESQLTaskTest] POUR LA CONNEXION [LOCALSRVNAMESQLTaskTest]ALLERALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]  –- pour créer des sauvegardesALLERDONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest] –- pour mettre à jour les statistiquesALLER\r\n\n\nLa justification de ces autorisations est fournie ci-dessous pour chaque script / tâche.\n\nScripts de maintenance SQL Server\nNous devrons exécuter les tâches suivantes:\n\nSauvegardes de bases de données\nMaintenance des index\nMises à jour des statistiques\nContrôles de cohérence des bases de données\n\nVoici les scripts SQL Server et le script du système d&#39;exploitation exécutable (fichier * .bat) qui s&#39;exécuteront\nces scripts SQL:\n\n\t\n\nScript de sauvegarde de toutes les bases de données SQL Server\n&quot;BackupAllDBs.sql&quot;script (remplacez le nom du dossier de sauvegarde par votre\ndans ce script):\n\nACTIVER LE NOCOUNTSELECT GETDATE ()EXEC sys.sp_MSforeachdb &#39;IF (SELECT&#39; &#39;?&#39; &#39;) &lt;&gt;&#39; &#39;Tempdb&#39; &#39;COMMENCERBASE DE DONNÉES DE SAUVEGARDE [?] TO DISK = N&#39;&#39;D:  Backups  ?. BAK &#39;&#39; AVEC NOFORMAT, INIT, NAME = N &#39;&#39;? - SAUVEGARDE COMPLÈTE DE LA BASE DE DONNÉES &#39;&#39;FIN&#39; \r\n\n\n\n\nIci est une référence aux autorisations requises pour sauvegarder les bases de données:\nNous accorderons les autorisations minimales requises pour créer les sauvegardes de notre service\ncompte (requis pour chaque base de données qui sera sauvegardée):\n\nALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest] –- pour créer des sauvegardesALLER \r\n\n\nScript de maintenance d&#39;index SQL Server\n&quot;IndexesMaintenance.sql&quot;script:\nJ&#39;ai utilisé le script de reconstruction d&#39;index à partir de \ncette astuce. Il reconstruit tous les index sur toutes les bases de données (ou les bases de données spécifiées dans\nle script). Vous pouvez également créer un script plus sélectif qui ne reconstruit que\nindex fragmentés, mais nous utiliserons ce script pour la démonstration\nde la configuration des autorisations minimales.\n\n\nIci est une référence aux autorisations requises pour reconstruire ou réorganiser le\nindex:\nNous pourrions éventuellement accorder à notre compte de service le rôle &quot;db_ddladmin&quot;,\nmais cela signifie que notre utilisateur pourra créer et supprimer les tables. Nous allons\naccordez au lieu de cela les autorisations suivantes:\n\nDONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLER\r\n\n\nNous pouvons tester si l&#39;utilisateur peut créer ou supprimer des tables ou d&#39;autres objets. Nous allons\ncréer quelques objets de test (en tant que compte sysadmin ou db_owner):\n\nUTILISATION [_Demo]ALLERCRÉER LA TABLE dbo.Can_you_drop_table (col1 INT NOT NULL,CONTRAINTE PK_Can_you_drop_table CLÉ PRIMAIRE CLUSTERED (col1 ASC)ALLERCREATE PROC dbo.Can_you_drop_procedureCOMMESELECT col1 FROM dbo.Can_you_drop_tableALLER\r\n\n\nMaintenant, nous allons nous connecter avec le compte de service et exécuter le script suivant:\n\nUTILISATION [_Demo]ALLER IMPRIMER &#39;Créer la table&#39;CREATE TABLE test_perm_tbl (c1 INT)ALLERIMPRIMER &#39;Déposer la table&#39;DROP TABLE dbo.Can_you_drop_table  ALLERIMPRIMER &#39;Abandonner la procédure&#39;DROP PROC dbo.Can_you_drop_procedureALLERIMPRIMER «Modification de la table»ALTER TABLE dbo.Can_you_drop_table ADD col2 INTALLERIMPRIMER «Reconstruire les index»ALTER INDEX ALL ON dbo.Can_you_drop_table REBUILDALLER\r\n\n\nVoici les résultats (avec commentaires):\n\nCréation de la table\r\nMsg 262, niveau 14, état 1, ligne 2\r\nAutorisation CREATE TABLE refusée dans la base de données &#39;_Demo&#39;. - Impossible de créer la table\r\nSuppression de la table - PEUT supprimer la table\r\nAbandon de la procédure\r\nMsg 3701, niveau 11, état 5, ligne 10\r\nImpossible de supprimer la procédure &#39;dbo.Can_you_drop_procedure&#39;, car elle n&#39;existe pas ou vous ne disposez pas de l&#39;autorisation. - NE PEUT PAS supprimer la procédure\r\nModification de la table - PEUT changer la table\r\nReconstruction des index - PEUT reconstruire les index \r\n\n\nAinsi, même si l&#39;utilisateur peut modifier et supprimer les tables, il ne peut pas supprimer\nd&#39;autres objets ou créez-en de nouveaux.\nScript de statistiques de mise à jour de SQL Server\n&quot;&quot;UpdateStatistics.sql&quot;script:\n\nACTIVER LE NOCOUNTSELECT GETDATE ()EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;Exec dbo.sp_updatestatsREVENIR\r\n\n\n\n\nIci est une référence à l&#39;article décrivant les autorisations requises pour la mise à jour\nstatistiques des bases de données:\nAu lieu d&#39;accorder les autorisations sysadmin au compte de service, nous utiliserons l&#39;emprunt d&#39;identité\npour notre compte de service. Il usurpera l&#39;identité de l&#39;utilisateur &quot;dbo&quot;. Pour que le\ncompte de service à exécuter &quot;EXÉCUTER\nCOMME&quot;déclaration, nous devons lui accorder les autorisations suivantes:\n\nUTILISATION [_Demo]ALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest]  –- pour mettre à jour les statistiquesALLER\r\n\n\nVérifications de cohérence de la base de données SQL Server\n&quot;&quot;CheckDBs.sql&quot;:\n\nACTIVER LE NOCOUNTSELECT GETDATE ()EXEC dbo.usp_CheckDB\r\n\n\nNous avons créé une procédure stockée pour vérifier la base de données dans notre base de données de démonstration\npour notre démonstration des tâches de maintenance:\n\nUTILISATION [_Demo]ALLERCREATE PROC dbo.usp_CheckDBCOMMEEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]REVENIRDBCC CHECKDB AVEC NO_INFOMSGSEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] DROP MEMBER [LOCALSRVNAMESQLTaskTest]REVENIRALLER\r\n\n\nNous allons maintenant accorder au compte de service l&#39;autorisation d&#39;exécuter la procédure stockée:\n\n\nUTILISATION [_Demo]ALLER GRANT EXECUTE ON dbo.usp_CheckDB TO [LOCALSRVNAMESQLTaskTest]ALLER\r\n\n\n\n\nIci est une référence à l&#39;article décrivant les autorisations requises pour exécuter DBCC\nCHECKDB:\nLa vérification de la cohérence de la base de données ne peut être exécutée que par un utilisateur membre de db_owner\nrôle de base de données. L&#39;utilisateur doit être explicitement ajouté au rôle. L&#39;usurpation d&#39;identité de l&#39;utilisateur dbo\nne fonctionne pas dans ce cas:\n\nEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;DBCC CHECKDB AVEC NO_INFOMSGS REVENIR\r\n\n\nSi l&#39;utilisateur n&#39;est pas membre du rôle db_owner, il y aura une erreur:\n\nMsg 916, niveau 14, état 1, ligne 15Le serveur principal &quot;sa&quot; n&#39;est pas en mesure d&#39;accéder à la base de données &quot;_Demo&quot; dans le contexte de sécurité actuel.\r\n\n\nAinsi, dans notre procédure stockée usp_CheckDB, nous avons les étapes suivantes:\n\nEmprunter l&#39;identité de l&#39;utilisateur en tant que dbo\nAccorder le rôle de compte de service de maintenance &quot;db_owner&quot;\nExécutez DBCC CHECKDB\nSupprimez le compte de service de maintenance du rôle &quot;db_owner&quot;\n\nCela se fait via la procédure stockée pour vous assurer que le compte de service\nn&#39;a pas les autorisations db_owner ou sysadmin de façon permanente.\nVeuillez noter que les scripts que nous utilisons dans cette astuce sont très basiques et sont fournis\npour démonstration seulement.\nLa configuration de la sécurité dans cette astuce peut sembler lourde, mais cela est fait pour démontrer\nconfiguration des autorisations minimales pour le compte de service.\nAutorisations de compte de service de maintenance sur les dossiers\nNous aurons tous les scripts de maintenance et de sauvegarde sous le nouveau dossier (par exemple,\nD:  DBScripts) et les fichiers journaux (sortie) sous le sous-dossier &quot;sortie&quot;.\n\nL&#39;exigence de sécurité consiste à s&#39;assurer que le compte de service a une capacité\npour écrire dans le dossier &quot;sortie&quot; et pour vous assurer qu&#39;il ne peut pas modifier ou\nécrire dans le dossier scripts (accès en lecture seule au dossier &quot;DBScripts&quot;).\n\nLe dossier des sauvegardes devra également être sécurisé. Lis\n\ncette astuce sur la protection du dossier de sauvegarde SQL Server.\nDossier DBScripts\nAccédez aux propriétés du dossier &quot;DBScripts&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjouter un compte de service «SQL Task Test», accorder «Lire et exécuter»\nautorisations:\n\n\t\n\nCochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».\n\nDossier de sortie\nAccédez aux propriétés du dossier &quot;sortie&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjoutez le compte de service &quot;SQL Task Test&quot;, accordez les autorisations &quot;Write&quot;:\n\n\n\t\n\nCochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».\n\nConfiguration et test des tâches de maintenance\nLes scripts de maintenance et de sauvegarde seront exécutés en exécutant un seul programme planifié.\ntâche. La tâche exécutera le fichier de commandes &quot;Run_DBBackups.bat&quot; (remplacer\nles noms de serveur avec vos valeurs dans ce script):\n\nCD / D D:  DBScripts SQLCMD -E -S DEMOSQL1 -d master -i BackupAllDBs.sql -o D:  DBScripts  output  out_back.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i CheckDBs.sql -o D:  DBScripts  output  out_checkDB.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i IndexesMaintenance.sql -o D:  DBScripts  output  out_ind.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i UpdateStatistics.sql -o D:  DBScripts  output  out_stats.txt\r\n\n\nExécutez le Planificateur de tâches Windows et cliquez sur «Créer une tâche…» sous «Tâche\nBibliothèque du planificateur &quot;:\n\n\t\n\nSélectionnez le compte de service créé précédemment en tant qu&#39;utilisateur qui exécutera le\ntâche, sélectionnez les 2 autres options sur une capture d&#39;écran:\n\n\t\n\nSous l&#39;onglet &quot;Déclencheurs&quot;, configurez un calendrier pour la tâche de maintenance:\n\n\n\t\n\nCliquez sur l&#39;onglet &quot;Actions&quot; et entrez l&#39;emplacement et le nom du script\n(fichier * .bat):\n\n\t\n\nVoici la vue finale de l&#39;action:\n\n\t\n\nCliquez sur &quot;OK&quot; pour enregistrer la tâche et entrez le compte du service\nmot de passe lorsque vous y êtes invité:\n\n\t\n\nCliquez sur &quot;OK&quot; dans la prochaine fenêtre pop-up:\n\n\t\n\nNous pouvons ignorer ce message car nous avons déjà accordé notre compte de service requis\nautorisations.\nDémarrez le travail manuellement pour vérifier qu&#39;il s&#39;exécute correctement. Vérifiez le dossier de sortie\npour valider les résultats:\n\n\t\n\nProchaines étapes\nDernière mise à jour: 2019-12-18\n\n\n\n\n\t\t\t\n\n\n\n\t\t\t\n\nA propos de l&#39;auteur\n\n\n\t\t\t\n\t\t\tSvetlana Golovko est une DBA avec 13 ans d&#39;expérience en informatique (y compris SQL Server et Oracle) avec un accent principal sur les performances. \nVoir tous mes conseils\n\t\t\t\n\n\n\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller","Problème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications. Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine. Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#39;environnement. Cela pourrait également s&#39;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur.\nComment verrouiller SQL Server? Comment pouvons-nous nous assurer que notre serveur est sécurisé et\nprotégé contre les accès externes?\nSolution\nDans cette astuce, nous fournirons des recommandations pour renforcer l&#39;installation de SQL Server\npour la configuration où SQL Server n&#39;est accessible que par l&#39;application installée\nsur le même serveur. Dans la plupart des cas, il s&#39;agit d&#39;un serveur autonome qui n&#39;est même pas joint à un domaine. Nous fournirons des exemples et des scripts pour la configuration des autorisations minimales requises\npour les sauvegardes et la maintenance des bases de données.\nÉtapes de pré-installation\nPar défaut, si vous ne créez pas le dossier pour SQL Server à l&#39;avance, le\nLes dossiers de données auront certaines des autorisations héritées du dossier parent.\nLe groupe local &quot;Utilisateurs&quot; (COMPUTERNAME  Users) aura des autorisations de lecture\naux dossiers:","Avant de commencer l&#39;installation, nous créerons des données, des sauvegardes et d&#39;autres dossiers\net assurez-vous que seuls les administrateurs ont accès à ces dossiers.\nNous allons d&#39;abord créer les nouveaux dossiers et désactiver l&#39;héritage des autorisations:","Convertir les autorisations en autorisations explicites lorsque vous y êtes invité et supprimer le local\n&quot;Utilisateurs&quot;\nAutorisations du groupe (&quot;Lire et exécuter&quot; et &quot;Spécial&quot;):","Les comptes de service SQL Server recevront les autorisations requises lors de l&#39;installation\nplus tard, nous n&#39;avons donc pas besoin de le faire maintenant.\nLes autorisations du système de fichiers requises pour les comptes de service SQL ont été trouvées","ici.\nInstallation de SQL Server\nDémarrez l&#39;installation de SQL Server comme vous le faites habituellement. Suivez les invites d&#39;installation jusqu&#39;à\nÉcran &quot;Sélection des fonctionnalités&quot;.\nSur l&#39;écran de sélection des fonctionnalités, assurez-vous que seuls les «services du moteur de base de données»\nest sélectionné:","Ne sélectionnez pas les fonctionnalités habituelles que vous installez habituellement, telles que: Outils SQL Server,\nRecherche plein texte, etc.\nRemarque: que le texte intégral peut être requis pour votre\nou reportez-vous à la documentation de votre fournisseur pour connaître les exigences relatives aux fonctionnalités de SQL Server.","En outre, nous supposons qu&#39;il s&#39;agit d&#39;une application simple qui ne nécessite qu&#39;une base de données\nfonction moteur (pas de SSRS, SSAS, etc.).\nNous voulons réduire la surface de sécurité, donc l&#39;Agent SQL Server et le Navigateur SQL Server\nsera également désactivé. Toutes les tâches de maintenance et de sauvegarde planifiées s&#39;exécuteront sous Windows\nTâches planifiées qui seront configurées ultérieurement:","Gardez les comptes de service par défaut. Lis","cette Article de Microsoft sur les comptes de service et les autorisations nécessaires\npour les comptes.\nSi l&#39;application prend en charge l&#39;authentification Windows &#8211; conservez l&#39;authentification par défaut\nMode (Windows).\nUtilisez le répertoire (ou les répertoires si vous utilisez plusieurs lecteurs) que nous avons créé\navant de commencer l&#39;installation:","Terminez l&#39;installation.\nLis","cette astuce pour le Guide d&#39;installation pas à pas complet de SQL Server 2017.","Configuration de la sécurité de SQL Server\nNous allons configurer ici certaines des fonctionnalités de sécurité.\nDésactivez tous les protocoles réseau à l&#39;exception de la &quot;mémoire partagée&quot;:","Validez dans SQL Server Configuration Manager que tous les services sauf &quot;SQL&quot;\nServeur &quot;sont désactivés:","Masquez l&#39;instance à l&#39;aide de SQL Server Configuration Manager. Lis","cette astuce sur le masquage des instances SQL Server.","Assurez-vous que l&#39;accès à distance est désactivé:","UTILISATION [master]ALLEREXEC sys.sp_configure N&#39;remote access &#39;, N&#39;0&#39;ALLERRECONFIGURER AVEC OVERRIDEALLER","Activez les stratégies de mot de passe locales si vous configurez SQL Server sur un serveur autonome\nserveur. Les serveurs joints au domaine doivent hériter des stratégies de domaine, vous pouvez donc ignorer\ncette étape pour les serveurs qui font partie du domaine Active Directory. Le mot de passe\nles stratégies pour le domaine sont généralement configurées par vos administrateurs système.\nSur un serveur autonome:\nDémarrer la console MMC\nCliquez sur &quot;Fichier&quot;&gt; &quot;Ajouter / Supprimer un composant logiciel enfichable…&quot;\nSélectionnez &quot;Éditeur d&#39;objets de stratégie de groupe&quot;, cliquez sur &quot;Ajouter&quot;, confirmez\nla sélection d&#39;objet de stratégie de groupe &quot;Ordinateur local&quot;:","Cliquez sur OK&quot;\nSous &quot;Stratégie de l&#39;ordinateur local&quot;, développez &quot;Configuration de l&#39;ordinateur&quot;,\npuis &quot;Paramètres Windows&quot;, puis &quot;Paramètres de sécurité&quot;, &quot;Compte\nPolitiques &quot;,&quot; Politique de mot de passe &quot;\nModifiez les politiques à droite pour appliquer des mots de passe forts:","En savoir plus sur la configuration des stratégies de mot de passe locales sous Windows","ici. Lis","cette article sur les stratégies de mot de passe SQL Server.\nLaissez la console MMC ouverte pour les étapes suivantes.\nAutres étapes de post-installation\nInstallez les derniers correctifs et correctifs (y compris les correctifs Windows).\nDéfinissez un mot de passe fort, renommez et désactivez la connexion &quot;sa&quot;.","Cette astuce possède une liste de contrôle de sécurité pour SQL Server. Assurez-vous d&#39;avoir examiné le\nliste de contrôle et","cette guide de sécurité pour toutes les configurations de sécurité supplémentaires qui pourraient être\nobligatoire.\nCréation de compte de service de maintenance\nNous allons créer un compte de service local pour exécuter la maintenance SQL Server planifiée\nTâches (mise à jour des statistiques, sauvegarde des bases de données, etc.). Nous allons utiliser l&#39;ordinateur\nOutil de gestion sur notre serveur SQL pour cela:","Ce compte de service exécutera les tâches planifiées de Windows. L&#39;utilisateur n&#39;a pas besoin\nêtre membre de tout groupe, mais il doit avoir","&quot;Se connecter en tant que tâche par lots&quot; autorisations locales afin d&#39;exécuter des travaux Windows.\nRevenez à la console MMC pour attribuer la stratégie «Se connecter en tant que tâche par lots»\nsur le compte de service:","Cliquez sur le bouton &quot;Ajouter un utilisateur ou un groupe…&quot; et ajoutez &quot;SQLTaskTest&quot;\nutilisateur que nous avons créé précédemment:","Autorisations de compte du service de maintenance sur SQL Server et les bases de données\nCe sont les autorisations minimales requises pour le compte de service pour exécuter le\nsauvegarde des bases de données et tâches de maintenance:","UTILISATION [master]ALLERCRÉER UNE CONNEXION [LOCALSRVNAMESQLTaskTest] DE WINDOWS DEFAULT_DATABASE =[master], CHECK_EXPIRATION = OFF, CHECK_POLICY = ONALLERUTILISATION [_Demo] - pour chaque base de données sauf tempdbALLERCRÉER UN UTILISATEUR [LOCALSRVNAMESQLTaskTest] POUR LA CONNEXION [LOCALSRVNAMESQLTaskTest]ALLERALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]  –- pour créer des sauvegardesALLERDONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest] –- pour mettre à jour les statistiquesALLER","La justification de ces autorisations est fournie ci-dessous pour chaque script / tâche.","Scripts de maintenance SQL Server\nNous devrons exécuter les tâches suivantes:","Sauvegardes de bases de données\nMaintenance des index\nMises à jour des statistiques\nContrôles de cohérence des bases de données","Voici les scripts SQL Server et le script du système d&#39;exploitation exécutable (fichier * .bat) qui s&#39;exécuteront\nces scripts SQL:","Script de sauvegarde de toutes les bases de données SQL Server\n&quot;BackupAllDBs.sql&quot;script (remplacez le nom du dossier de sauvegarde par votre\ndans ce script):","ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC sys.sp_MSforeachdb &#39;IF (SELECT&#39; &#39;?&#39; &#39;) &lt;&gt;&#39; &#39;Tempdb&#39; &#39;COMMENCERBASE DE DONNÉES DE SAUVEGARDE [?] TO DISK = N&#39;&#39;D:  Backups  ?. BAK &#39;&#39; AVEC NOFORMAT, INIT, NAME = N &#39;&#39;? - SAUVEGARDE COMPLÈTE DE LA BASE DE DONNÉES &#39;&#39;FIN&#39;","Ici est une référence aux autorisations requises pour sauvegarder les bases de données:\nNous accorderons les autorisations minimales requises pour créer les sauvegardes de notre service\ncompte (requis pour chaque base de données qui sera sauvegardée):","ALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest] –- pour créer des sauvegardesALLER","Script de maintenance d&#39;index SQL Server\n&quot;IndexesMaintenance.sql&quot;script:\nJ&#39;ai utilisé le script de reconstruction d&#39;index à partir de \ncette astuce. Il reconstruit tous les index sur toutes les bases de données (ou les bases de données spécifiées dans\nle script). Vous pouvez également créer un script plus sélectif qui ne reconstruit que\nindex fragmentés, mais nous utiliserons ce script pour la démonstration\nde la configuration des autorisations minimales.","Ici est une référence aux autorisations requises pour reconstruire ou réorganiser le\nindex:\nNous pourrions éventuellement accorder à notre compte de service le rôle &quot;db_ddladmin&quot;,\nmais cela signifie que notre utilisateur pourra créer et supprimer les tables. Nous allons\naccordez au lieu de cela les autorisations suivantes:","DONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLER","Nous pouvons tester si l&#39;utilisateur peut créer ou supprimer des tables ou d&#39;autres objets. Nous allons\ncréer quelques objets de test (en tant que compte sysadmin ou db_owner):","UTILISATION [_Demo]ALLERCRÉER LA TABLE dbo.Can_you_drop_table (col1 INT NOT NULL,CONTRAINTE PK_Can_you_drop_table CLÉ PRIMAIRE CLUSTERED (col1 ASC)ALLERCREATE PROC dbo.Can_you_drop_procedureCOMMESELECT col1 FROM dbo.Can_you_drop_tableALLER","Maintenant, nous allons nous connecter avec le compte de service et exécuter le script suivant:","UTILISATION [_Demo]ALLER IMPRIMER &#39;Créer la table&#39;CREATE TABLE test_perm_tbl (c1 INT)ALLERIMPRIMER &#39;Déposer la table&#39;DROP TABLE dbo.Can_you_drop_table  ALLERIMPRIMER &#39;Abandonner la procédure&#39;DROP PROC dbo.Can_you_drop_procedureALLERIMPRIMER «Modification de la table»ALTER TABLE dbo.Can_you_drop_table ADD col2 INTALLERIMPRIMER «Reconstruire les index»ALTER INDEX ALL ON dbo.Can_you_drop_table REBUILDALLER","Voici les résultats (avec commentaires):","Création de la table\nMsg 262, niveau 14, état 1, ligne 2\nAutorisation CREATE TABLE refusée dans la base de données &#39;_Demo&#39;. - Impossible de créer la table\nSuppression de la table - PEUT supprimer la table\nAbandon de la procédure\nMsg 3701, niveau 11, état 5, ligne 10\nImpossible de supprimer la procédure &#39;dbo.Can_you_drop_procedure&#39;, car elle n&#39;existe pas ou vous ne disposez pas de l&#39;autorisation. - NE PEUT PAS supprimer la procédure\nModification de la table - PEUT changer la table\nReconstruction des index - PEUT reconstruire les index","Ainsi, même si l&#39;utilisateur peut modifier et supprimer les tables, il ne peut pas supprimer\nd&#39;autres objets ou créez-en de nouveaux.\nScript de statistiques de mise à jour de SQL Server\n&quot;&quot;UpdateStatistics.sql&quot;script:","ACTIVER LE NOCOUNTSELECT GETDATE ()EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;Exec dbo.sp_updatestatsREVENIR","Ici est une référence à l&#39;article décrivant les autorisations requises pour la mise à jour\nstatistiques des bases de données:\nAu lieu d&#39;accorder les autorisations sysadmin au compte de service, nous utiliserons l&#39;emprunt d&#39;identité\npour notre compte de service. Il usurpera l&#39;identité de l&#39;utilisateur &quot;dbo&quot;. Pour que le\ncompte de service à exécuter &quot;EXÉCUTER\nCOMME&quot;déclaration, nous devons lui accorder les autorisations suivantes:","UTILISATION [_Demo]ALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest]  –- pour mettre à jour les statistiquesALLER","Vérifications de cohérence de la base de données SQL Server\n&quot;&quot;CheckDBs.sql&quot;:","ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC dbo.usp_CheckDB","Nous avons créé une procédure stockée pour vérifier la base de données dans notre base de données de démonstration\npour notre démonstration des tâches de maintenance:","UTILISATION [_Demo]ALLERCREATE PROC dbo.usp_CheckDBCOMMEEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]REVENIRDBCC CHECKDB AVEC NO_INFOMSGSEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] DROP MEMBER [LOCALSRVNAMESQLTaskTest]REVENIRALLER","Nous allons maintenant accorder au compte de service l&#39;autorisation d&#39;exécuter la procédure stockée:","UTILISATION [_Demo]ALLER GRANT EXECUTE ON dbo.usp_CheckDB TO [LOCALSRVNAMESQLTaskTest]ALLER","Ici est une référence à l&#39;article décrivant les autorisations requises pour exécuter DBCC\nCHECKDB:\nLa vérification de la cohérence de la base de données ne peut être exécutée que par un utilisateur membre de db_owner\nrôle de base de données. L&#39;utilisateur doit être explicitement ajouté au rôle. L&#39;usurpation d&#39;identité de l&#39;utilisateur dbo\nne fonctionne pas dans ce cas:","EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;DBCC CHECKDB AVEC NO_INFOMSGS REVENIR","Si l&#39;utilisateur n&#39;est pas membre du rôle db_owner, il y aura une erreur:","Msg 916, niveau 14, état 1, ligne 15Le serveur principal &quot;sa&quot; n&#39;est pas en mesure d&#39;accéder à la base de données &quot;_Demo&quot; dans le contexte de sécurité actuel.","Ainsi, dans notre procédure stockée usp_CheckDB, nous avons les étapes suivantes:","Emprunter l&#39;identité de l&#39;utilisateur en tant que dbo\nAccorder le rôle de compte de service de maintenance &quot;db_owner&quot;\nExécutez DBCC CHECKDB\nSupprimez le compte de service de maintenance du rôle &quot;db_owner&quot;","Cela se fait via la procédure stockée pour vous assurer que le compte de service\nn&#39;a pas les autorisations db_owner ou sysadmin de façon permanente.\nVeuillez noter que les scripts que nous utilisons dans cette astuce sont très basiques et sont fournis\npour démonstration seulement.\nLa configuration de la sécurité dans cette astuce peut sembler lourde, mais cela est fait pour démontrer\nconfiguration des autorisations minimales pour le compte de service.\nAutorisations de compte de service de maintenance sur les dossiers\nNous aurons tous les scripts de maintenance et de sauvegarde sous le nouveau dossier (par exemple,\nD:  DBScripts) et les fichiers journaux (sortie) sous le sous-dossier &quot;sortie&quot;.","L&#39;exigence de sécurité consiste à s&#39;assurer que le compte de service a une capacité\npour écrire dans le dossier &quot;sortie&quot; et pour vous assurer qu&#39;il ne peut pas modifier ou\nécrire dans le dossier scripts (accès en lecture seule au dossier &quot;DBScripts&quot;).","Le dossier des sauvegardes devra également être sécurisé. Lis","cette astuce sur la protection du dossier de sauvegarde SQL Server.\nDossier DBScripts\nAccédez aux propriétés du dossier &quot;DBScripts&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjouter un compte de service «SQL Task Test», accorder «Lire et exécuter»\nautorisations:","Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».","Dossier de sortie\nAccédez aux propriétés du dossier &quot;sortie&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjoutez le compte de service &quot;SQL Task Test&quot;, accordez les autorisations &quot;Write&quot;:","Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».","Configuration et test des tâches de maintenance\nLes scripts de maintenance et de sauvegarde seront exécutés en exécutant un seul programme planifié.\ntâche. La tâche exécutera le fichier de commandes &quot;Run_DBBackups.bat&quot; (remplacer\nles noms de serveur avec vos valeurs dans ce script):","CD / D D:  DBScripts SQLCMD -E -S DEMOSQL1 -d master -i BackupAllDBs.sql -o D:  DBScripts  output  out_back.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i CheckDBs.sql -o D:  DBScripts  output  out_checkDB.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i IndexesMaintenance.sql -o D:  DBScripts  output  out_ind.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i UpdateStatistics.sql -o D:  DBScripts  output  out_stats.txt","Exécutez le Planificateur de tâches Windows et cliquez sur «Créer une tâche…» sous «Tâche\nBibliothèque du planificateur &quot;:","Sélectionnez le compte de service créé précédemment en tant qu&#39;utilisateur qui exécutera le\ntâche, sélectionnez les 2 autres options sur une capture d&#39;écran:","Sous l&#39;onglet &quot;Déclencheurs&quot;, configurez un calendrier pour la tâche de maintenance:","Cliquez sur l&#39;onglet &quot;Actions&quot; et entrez l&#39;emplacement et le nom du script\n(fichier * .bat):","Voici la vue finale de l&#39;action:","Cliquez sur &quot;OK&quot; pour enregistrer la tâche et entrez le compte du service\nmot de passe lorsque vous y êtes invité:","Cliquez sur &quot;OK&quot; dans la prochaine fenêtre pop-up:","Nous pouvons ignorer ce message car nous avons déjà accordé notre compte de service requis\nautorisations.\nDémarrez le travail manuellement pour vérifier qu&#39;il s&#39;exécute correctement. Vérifiez le dossier de sortie\npour valider les résultats:","Prochaines étapes\nDernière mise à jour: 2019-12-18","A propos de l&#39;auteur","Svetlana Golovko est une DBA avec 13 ans d&#39;expérience en informatique (y compris SQL Server et Oracle) avec un accent principal sur les performances. \nVoir tous mes conseils","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller","html":"<p>Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"Problème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications. Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine. Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#39;environnement. Cela pourrait également s&#39;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur.\nComment verrouiller SQL Server? Comment pouvons-nous nous assurer que notre serveur est sécurisé et\nprotégé contre les accès externes?\nSolution\nDans cette astuce, nous fournirons des recommandations pour renforcer l&#39;installation de SQL Server\npour la configuration où SQL Server n&#39;est accessible que par l&#39;application installée\nsur le même serveur. Dans la plupart des cas, il s&#39;agit d&#39;un serveur autonome qui n&#39;est même pas joint à un domaine. Nous fournirons des exemples et des scripts pour la configuration des autorisations minimales requises\npour les sauvegardes et la maintenance des bases de données.\nÉtapes de pré-installation\nPar défaut, si vous ne créez pas le dossier pour SQL Server à l&#39;avance, le\nLes dossiers de données auront certaines des autorisations héritées du dossier parent.\nLe groupe local &quot;Utilisateurs&quot; (COMPUTERNAME  Users) aura des autorisations de lecture\naux dossiers:","html":"<p>Problème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#039;autres applications. Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine. Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#039;environnement. Cela pourrait également s&#039;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur.\nComment verrouiller SQL Server? Comment pouvons-nous nous assurer que notre serveur est sécurisé et\nprotégé contre les accès externes?\nSolution\nDans cette astuce, nous fournirons des recommandations pour renforcer l&#039;installation de SQL Server\npour la configuration où SQL Server n&#039;est accessible que par l&#039;application installée\nsur le même serveur. Dans la plupart des cas, il s&#039;agit d&#039;un serveur autonome qui n&#039;est même pas joint à un domaine. Nous fournirons des exemples et des scripts pour la configuration des autorisations minimales requises\npour les sauvegardes et la maintenance des bases de données.\nÉtapes de pré-installation\nPar défaut, si vous ne créez pas le dossier pour SQL Server à l&#039;avance, le\nLes dossiers de données auront certaines des autorisations héritées du dossier parent.\nLe groupe local &quot;Utilisateurs&quot; (COMPUTERNAME  Users) aura des autorisations de lecture\naux dossiers:</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Avant de commencer l&#39;installation, nous créerons des données, des sauvegardes et d&#39;autres dossiers\net assurez-vous que seuls les administrateurs ont accès à ces dossiers.\nNous allons d&#39;abord créer les nouveaux dossiers et désactiver l&#39;héritage des autorisations:","html":"<p>Avant de commencer l&#039;installation, nous créerons des données, des sauvegardes et d&#039;autres dossiers\net assurez-vous que seuls les administrateurs ont accès à ces dossiers.\nNous allons d&#039;abord créer les nouveaux dossiers et désactiver l&#039;héritage des autorisations:</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"Convertir les autorisations en autorisations explicites lorsque vous y êtes invité et supprimer le local\n&quot;Utilisateurs&quot;\nAutorisations du groupe (&quot;Lire et exécuter&quot; et &quot;Spécial&quot;):","html":"<p>Convertir les autorisations en autorisations explicites lorsque vous y êtes invité et supprimer le local\n&quot;Utilisateurs&quot;\nAutorisations du groupe (&quot;Lire et exécuter&quot; et &quot;Spécial&quot;):</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"Les comptes de service SQL Server recevront les autorisations requises lors de l&#39;installation\nplus tard, nous n&#39;avons donc pas besoin de le faire maintenant.\nLes autorisations du système de fichiers requises pour les comptes de service SQL ont été trouvées","html":"<p>Les comptes de service SQL Server recevront les autorisations requises lors de l&#039;installation\nplus tard, nous n&#039;avons donc pas besoin de le faire maintenant.\nLes autorisations du système de fichiers requises pour les comptes de service SQL ont été trouvées</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"ici.\nInstallation de SQL Server\nDémarrez l&#39;installation de SQL Server comme vous le faites habituellement. Suivez les invites d&#39;installation jusqu&#39;à\nÉcran &quot;Sélection des fonctionnalités&quot;.\nSur l&#39;écran de sélection des fonctionnalités, assurez-vous que seuls les «services du moteur de base de données»\nest sélectionné:","html":"<p>ici.\nInstallation de SQL Server\nDémarrez l&#039;installation de SQL Server comme vous le faites habituellement. Suivez les invites d&#039;installation jusqu&#039;à\nÉcran &quot;Sélection des fonctionnalités&quot;.\nSur l&#039;écran de sélection des fonctionnalités, assurez-vous que seuls les «services du moteur de base de données»\nest sélectionné:</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"Ne sélectionnez pas les fonctionnalités habituelles que vous installez habituellement, telles que: Outils SQL Server,\nRecherche plein texte, etc.\nRemarque: que le texte intégral peut être requis pour votre\nou reportez-vous à la documentation de votre fournisseur pour connaître les exigences relatives aux fonctionnalités de SQL Server.","html":"<p>Ne sélectionnez pas les fonctionnalités habituelles que vous installez habituellement, telles que: Outils SQL Server,\nRecherche plein texte, etc.\nRemarque: que le texte intégral peut être requis pour votre\nou reportez-vous à la documentation de votre fournisseur pour connaître les exigences relatives aux fonctionnalités de SQL Server.</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"En outre, nous supposons qu&#39;il s&#39;agit d&#39;une application simple qui ne nécessite qu&#39;une base de données\nfonction moteur (pas de SSRS, SSAS, etc.).\nNous voulons réduire la surface de sécurité, donc l&#39;Agent SQL Server et le Navigateur SQL Server\nsera également désactivé. Toutes les tâches de maintenance et de sauvegarde planifiées s&#39;exécuteront sous Windows\nTâches planifiées qui seront configurées ultérieurement:","html":"<p>En outre, nous supposons qu&#039;il s&#039;agit d&#039;une application simple qui ne nécessite qu&#039;une base de données\nfonction moteur (pas de SSRS, SSAS, etc.).\nNous voulons réduire la surface de sécurité, donc l&#039;Agent SQL Server et le Navigateur SQL Server\nsera également désactivé. Toutes les tâches de maintenance et de sauvegarde planifiées s&#039;exécuteront sous Windows\nTâches planifiées qui seront configurées ultérieurement:</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"Gardez les comptes de service par défaut. Lis","html":"<p>Gardez les comptes de service par défaut. Lis</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"cette Article de Microsoft sur les comptes de service et les autorisations nécessaires\npour les comptes.\nSi l&#39;application prend en charge l&#39;authentification Windows &#8211; conservez l&#39;authentification par défaut\nMode (Windows).\nUtilisez le répertoire (ou les répertoires si vous utilisez plusieurs lecteurs) que nous avons créé\navant de commencer l&#39;installation:","html":"<p>cette Article de Microsoft sur les comptes de service et les autorisations nécessaires\npour les comptes.\nSi l&#039;application prend en charge l&#039;authentification Windows &#8211; conservez l&#039;authentification par défaut\nMode (Windows).\nUtilisez le répertoire (ou les répertoires si vous utilisez plusieurs lecteurs) que nous avons créé\navant de commencer l&#039;installation:</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"Terminez l&#39;installation.\nLis","html":"<p>Terminez l&#039;installation.\nLis</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"cette astuce pour le Guide d&#39;installation pas à pas complet de SQL Server 2017.","html":"<p>cette astuce pour le Guide d&#039;installation pas à pas complet de SQL Server 2017.</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"Configuration de la sécurité de SQL Server\nNous allons configurer ici certaines des fonctionnalités de sécurité.\nDésactivez tous les protocoles réseau à l&#39;exception de la &quot;mémoire partagée&quot;:","html":"<p>Configuration de la sécurité de SQL Server\nNous allons configurer ici certaines des fonctionnalités de sécurité.\nDésactivez tous les protocoles réseau à l&#039;exception de la &quot;mémoire partagée&quot;:</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"Validez dans SQL Server Configuration Manager que tous les services sauf &quot;SQL&quot;\nServeur &quot;sont désactivés:","html":"<p>Validez dans SQL Server Configuration Manager que tous les services sauf &quot;SQL&quot;\nServeur &quot;sont désactivés:</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"Masquez l&#39;instance à l&#39;aide de SQL Server Configuration Manager. Lis","html":"<p>Masquez l&#039;instance à l&#039;aide de SQL Server Configuration Manager. Lis</p>"},{"id":"text-16","type":"text","heading":"","plain_text":"cette astuce sur le masquage des instances SQL Server.","html":"<p>cette astuce sur le masquage des instances SQL Server.</p>"},{"id":"text-17","type":"text","heading":"","plain_text":"Assurez-vous que l&#39;accès à distance est désactivé:","html":"<p>Assurez-vous que l&#039;accès à distance est désactivé:</p>"},{"id":"text-18","type":"text","heading":"","plain_text":"UTILISATION [master]ALLEREXEC sys.sp_configure N&#39;remote access &#39;, N&#39;0&#39;ALLERRECONFIGURER AVEC OVERRIDEALLER","html":"<p>UTILISATION [master]ALLEREXEC sys.sp_configure N&#039;remote access &#039;, N&#039;0&#039;ALLERRECONFIGURER AVEC OVERRIDEALLER</p>"},{"id":"text-19","type":"text","heading":"","plain_text":"Activez les stratégies de mot de passe locales si vous configurez SQL Server sur un serveur autonome\nserveur. Les serveurs joints au domaine doivent hériter des stratégies de domaine, vous pouvez donc ignorer\ncette étape pour les serveurs qui font partie du domaine Active Directory. Le mot de passe\nles stratégies pour le domaine sont généralement configurées par vos administrateurs système.\nSur un serveur autonome:\nDémarrer la console MMC\nCliquez sur &quot;Fichier&quot;&gt; &quot;Ajouter / Supprimer un composant logiciel enfichable…&quot;\nSélectionnez &quot;Éditeur d&#39;objets de stratégie de groupe&quot;, cliquez sur &quot;Ajouter&quot;, confirmez\nla sélection d&#39;objet de stratégie de groupe &quot;Ordinateur local&quot;:","html":"<p>Activez les stratégies de mot de passe locales si vous configurez SQL Server sur un serveur autonome\nserveur. Les serveurs joints au domaine doivent hériter des stratégies de domaine, vous pouvez donc ignorer\ncette étape pour les serveurs qui font partie du domaine Active Directory. Le mot de passe\nles stratégies pour le domaine sont généralement configurées par vos administrateurs système.\nSur un serveur autonome:\nDémarrer la console MMC\nCliquez sur &quot;Fichier&quot;&gt; &quot;Ajouter / Supprimer un composant logiciel enfichable…&quot;\nSélectionnez &quot;Éditeur d&#039;objets de stratégie de groupe&quot;, cliquez sur &quot;Ajouter&quot;, confirmez\nla sélection d&#039;objet de stratégie de groupe &quot;Ordinateur local&quot;:</p>"},{"id":"text-20","type":"text","heading":"","plain_text":"Cliquez sur OK&quot;\nSous &quot;Stratégie de l&#39;ordinateur local&quot;, développez &quot;Configuration de l&#39;ordinateur&quot;,\npuis &quot;Paramètres Windows&quot;, puis &quot;Paramètres de sécurité&quot;, &quot;Compte\nPolitiques &quot;,&quot; Politique de mot de passe &quot;\nModifiez les politiques à droite pour appliquer des mots de passe forts:","html":"<p>Cliquez sur OK&quot;\nSous &quot;Stratégie de l&#039;ordinateur local&quot;, développez &quot;Configuration de l&#039;ordinateur&quot;,\npuis &quot;Paramètres Windows&quot;, puis &quot;Paramètres de sécurité&quot;, &quot;Compte\nPolitiques &quot;,&quot; Politique de mot de passe &quot;\nModifiez les politiques à droite pour appliquer des mots de passe forts:</p>"},{"id":"text-21","type":"text","heading":"","plain_text":"En savoir plus sur la configuration des stratégies de mot de passe locales sous Windows","html":"<p>En savoir plus sur la configuration des stratégies de mot de passe locales sous Windows</p>"},{"id":"text-22","type":"text","heading":"","plain_text":"ici. Lis","html":"<p>ici. Lis</p>"},{"id":"text-23","type":"text","heading":"","plain_text":"cette article sur les stratégies de mot de passe SQL Server.\nLaissez la console MMC ouverte pour les étapes suivantes.\nAutres étapes de post-installation\nInstallez les derniers correctifs et correctifs (y compris les correctifs Windows).\nDéfinissez un mot de passe fort, renommez et désactivez la connexion &quot;sa&quot;.","html":"<p>cette article sur les stratégies de mot de passe SQL Server.\nLaissez la console MMC ouverte pour les étapes suivantes.\nAutres étapes de post-installation\nInstallez les derniers correctifs et correctifs (y compris les correctifs Windows).\nDéfinissez un mot de passe fort, renommez et désactivez la connexion &quot;sa&quot;.</p>"},{"id":"text-24","type":"text","heading":"","plain_text":"Cette astuce possède une liste de contrôle de sécurité pour SQL Server. Assurez-vous d&#39;avoir examiné le\nliste de contrôle et","html":"<p>Cette astuce possède une liste de contrôle de sécurité pour SQL Server. Assurez-vous d&#039;avoir examiné le\nliste de contrôle et</p>"},{"id":"text-25","type":"text","heading":"","plain_text":"cette guide de sécurité pour toutes les configurations de sécurité supplémentaires qui pourraient être\nobligatoire.\nCréation de compte de service de maintenance\nNous allons créer un compte de service local pour exécuter la maintenance SQL Server planifiée\nTâches (mise à jour des statistiques, sauvegarde des bases de données, etc.). Nous allons utiliser l&#39;ordinateur\nOutil de gestion sur notre serveur SQL pour cela:","html":"<p>cette guide de sécurité pour toutes les configurations de sécurité supplémentaires qui pourraient être\nobligatoire.\nCréation de compte de service de maintenance\nNous allons créer un compte de service local pour exécuter la maintenance SQL Server planifiée\nTâches (mise à jour des statistiques, sauvegarde des bases de données, etc.). Nous allons utiliser l&#039;ordinateur\nOutil de gestion sur notre serveur SQL pour cela:</p>"},{"id":"text-26","type":"text","heading":"","plain_text":"Ce compte de service exécutera les tâches planifiées de Windows. L&#39;utilisateur n&#39;a pas besoin\nêtre membre de tout groupe, mais il doit avoir","html":"<p>Ce compte de service exécutera les tâches planifiées de Windows. L&#039;utilisateur n&#039;a pas besoin\nêtre membre de tout groupe, mais il doit avoir</p>"},{"id":"text-27","type":"text","heading":"","plain_text":"&quot;Se connecter en tant que tâche par lots&quot; autorisations locales afin d&#39;exécuter des travaux Windows.\nRevenez à la console MMC pour attribuer la stratégie «Se connecter en tant que tâche par lots»\nsur le compte de service:","html":"<p>&quot;Se connecter en tant que tâche par lots&quot; autorisations locales afin d&#039;exécuter des travaux Windows.\nRevenez à la console MMC pour attribuer la stratégie «Se connecter en tant que tâche par lots»\nsur le compte de service:</p>"},{"id":"text-28","type":"text","heading":"","plain_text":"Cliquez sur le bouton &quot;Ajouter un utilisateur ou un groupe…&quot; et ajoutez &quot;SQLTaskTest&quot;\nutilisateur que nous avons créé précédemment:","html":"<p>Cliquez sur le bouton &quot;Ajouter un utilisateur ou un groupe…&quot; et ajoutez &quot;SQLTaskTest&quot;\nutilisateur que nous avons créé précédemment:</p>"},{"id":"text-29","type":"text","heading":"","plain_text":"Autorisations de compte du service de maintenance sur SQL Server et les bases de données\nCe sont les autorisations minimales requises pour le compte de service pour exécuter le\nsauvegarde des bases de données et tâches de maintenance:","html":"<p>Autorisations de compte du service de maintenance sur SQL Server et les bases de données\nCe sont les autorisations minimales requises pour le compte de service pour exécuter le\nsauvegarde des bases de données et tâches de maintenance:</p>"},{"id":"text-30","type":"text","heading":"","plain_text":"UTILISATION [master]ALLERCRÉER UNE CONNEXION [LOCALSRVNAMESQLTaskTest] DE WINDOWS DEFAULT_DATABASE =[master], CHECK_EXPIRATION = OFF, CHECK_POLICY = ONALLERUTILISATION [_Demo] - pour chaque base de données sauf tempdbALLERCRÉER UN UTILISATEUR [LOCALSRVNAMESQLTaskTest] POUR LA CONNEXION [LOCALSRVNAMESQLTaskTest]ALLERALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]  –- pour créer des sauvegardesALLERDONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest] –- pour mettre à jour les statistiquesALLER","html":"<p>UTILISATION [master]ALLERCRÉER UNE CONNEXION [LOCALSRVNAMESQLTaskTest] DE WINDOWS DEFAULT_DATABASE =[master], CHECK_EXPIRATION = OFF, CHECK_POLICY = ONALLERUTILISATION [_Demo] - pour chaque base de données sauf tempdbALLERCRÉER UN UTILISATEUR [LOCALSRVNAMESQLTaskTest] POUR LA CONNEXION [LOCALSRVNAMESQLTaskTest]ALLERALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]  –- pour créer des sauvegardesALLERDONNER ALTER N&#039;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLERGRANT IMPERSONATE SUR L&#039;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest] –- pour mettre à jour les statistiquesALLER</p>"},{"id":"text-31","type":"text","heading":"","plain_text":"La justification de ces autorisations est fournie ci-dessous pour chaque script / tâche.","html":"<p>La justification de ces autorisations est fournie ci-dessous pour chaque script / tâche.</p>"},{"id":"text-32","type":"text","heading":"","plain_text":"Scripts de maintenance SQL Server\nNous devrons exécuter les tâches suivantes:","html":"<p>Scripts de maintenance SQL Server\nNous devrons exécuter les tâches suivantes:</p>"},{"id":"text-33","type":"text","heading":"","plain_text":"Sauvegardes de bases de données\nMaintenance des index\nMises à jour des statistiques\nContrôles de cohérence des bases de données","html":"<p>Sauvegardes de bases de données\nMaintenance des index\nMises à jour des statistiques\nContrôles de cohérence des bases de données</p>"},{"id":"text-34","type":"text","heading":"","plain_text":"Voici les scripts SQL Server et le script du système d&#39;exploitation exécutable (fichier * .bat) qui s&#39;exécuteront\nces scripts SQL:","html":"<p>Voici les scripts SQL Server et le script du système d&#039;exploitation exécutable (fichier * .bat) qui s&#039;exécuteront\nces scripts SQL:</p>"},{"id":"text-35","type":"text","heading":"","plain_text":"Script de sauvegarde de toutes les bases de données SQL Server\n&quot;BackupAllDBs.sql&quot;script (remplacez le nom du dossier de sauvegarde par votre\ndans ce script):","html":"<p>Script de sauvegarde de toutes les bases de données SQL Server\n&quot;BackupAllDBs.sql&quot;script (remplacez le nom du dossier de sauvegarde par votre\ndans ce script):</p>"},{"id":"text-36","type":"text","heading":"","plain_text":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC sys.sp_MSforeachdb &#39;IF (SELECT&#39; &#39;?&#39; &#39;) &lt;&gt;&#39; &#39;Tempdb&#39; &#39;COMMENCERBASE DE DONNÉES DE SAUVEGARDE [?] TO DISK = N&#39;&#39;D:  Backups  ?. BAK &#39;&#39; AVEC NOFORMAT, INIT, NAME = N &#39;&#39;? - SAUVEGARDE COMPLÈTE DE LA BASE DE DONNÉES &#39;&#39;FIN&#39;","html":"<p>ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC sys.sp_MSforeachdb &#039;IF (SELECT&#039; &#039;?&#039; &#039;) &lt;&gt;&#039; &#039;Tempdb&#039; &#039;COMMENCERBASE DE DONNÉES DE SAUVEGARDE [?] TO DISK = N&#039;&#039;D:  Backups  ?. BAK &#039;&#039; AVEC NOFORMAT, INIT, NAME = N &#039;&#039;? - SAUVEGARDE COMPLÈTE DE LA BASE DE DONNÉES &#039;&#039;FIN&#039;</p>"},{"id":"text-37","type":"text","heading":"","plain_text":"Ici est une référence aux autorisations requises pour sauvegarder les bases de données:\nNous accorderons les autorisations minimales requises pour créer les sauvegardes de notre service\ncompte (requis pour chaque base de données qui sera sauvegardée):","html":"<p>Ici est une référence aux autorisations requises pour sauvegarder les bases de données:\nNous accorderons les autorisations minimales requises pour créer les sauvegardes de notre service\ncompte (requis pour chaque base de données qui sera sauvegardée):</p>"},{"id":"text-38","type":"text","heading":"","plain_text":"ALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest] –- pour créer des sauvegardesALLER","html":"<p>ALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest] –- pour créer des sauvegardesALLER</p>"},{"id":"text-39","type":"text","heading":"","plain_text":"Script de maintenance d&#39;index SQL Server\n&quot;IndexesMaintenance.sql&quot;script:\nJ&#39;ai utilisé le script de reconstruction d&#39;index à partir de \ncette astuce. Il reconstruit tous les index sur toutes les bases de données (ou les bases de données spécifiées dans\nle script). Vous pouvez également créer un script plus sélectif qui ne reconstruit que\nindex fragmentés, mais nous utiliserons ce script pour la démonstration\nde la configuration des autorisations minimales.","html":"<p>Script de maintenance d&#039;index SQL Server\n&quot;IndexesMaintenance.sql&quot;script:\nJ&#039;ai utilisé le script de reconstruction d&#039;index à partir de \ncette astuce. Il reconstruit tous les index sur toutes les bases de données (ou les bases de données spécifiées dans\nle script). Vous pouvez également créer un script plus sélectif qui ne reconstruit que\nindex fragmentés, mais nous utiliserons ce script pour la démonstration\nde la configuration des autorisations minimales.</p>"},{"id":"text-40","type":"text","heading":"","plain_text":"Ici est une référence aux autorisations requises pour reconstruire ou réorganiser le\nindex:\nNous pourrions éventuellement accorder à notre compte de service le rôle &quot;db_ddladmin&quot;,\nmais cela signifie que notre utilisateur pourra créer et supprimer les tables. Nous allons\naccordez au lieu de cela les autorisations suivantes:","html":"<p>Ici est une référence aux autorisations requises pour reconstruire ou réorganiser le\nindex:\nNous pourrions éventuellement accorder à notre compte de service le rôle &quot;db_ddladmin&quot;,\nmais cela signifie que notre utilisateur pourra créer et supprimer les tables. Nous allons\naccordez au lieu de cela les autorisations suivantes:</p>"},{"id":"text-41","type":"text","heading":"","plain_text":"DONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLER","html":"<p>DONNER ALTER N&#039;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLER</p>"},{"id":"text-42","type":"text","heading":"","plain_text":"Nous pouvons tester si l&#39;utilisateur peut créer ou supprimer des tables ou d&#39;autres objets. Nous allons\ncréer quelques objets de test (en tant que compte sysadmin ou db_owner):","html":"<p>Nous pouvons tester si l&#039;utilisateur peut créer ou supprimer des tables ou d&#039;autres objets. Nous allons\ncréer quelques objets de test (en tant que compte sysadmin ou db_owner):</p>"},{"id":"text-43","type":"text","heading":"","plain_text":"UTILISATION [_Demo]ALLERCRÉER LA TABLE dbo.Can_you_drop_table (col1 INT NOT NULL,CONTRAINTE PK_Can_you_drop_table CLÉ PRIMAIRE CLUSTERED (col1 ASC)ALLERCREATE PROC dbo.Can_you_drop_procedureCOMMESELECT col1 FROM dbo.Can_you_drop_tableALLER","html":"<p>UTILISATION [_Demo]ALLERCRÉER LA TABLE dbo.Can_you_drop_table (col1 INT NOT NULL,CONTRAINTE PK_Can_you_drop_table CLÉ PRIMAIRE CLUSTERED (col1 ASC)ALLERCREATE PROC dbo.Can_you_drop_procedureCOMMESELECT col1 FROM dbo.Can_you_drop_tableALLER</p>"},{"id":"text-44","type":"text","heading":"","plain_text":"Maintenant, nous allons nous connecter avec le compte de service et exécuter le script suivant:","html":"<p>Maintenant, nous allons nous connecter avec le compte de service et exécuter le script suivant:</p>"},{"id":"text-45","type":"text","heading":"","plain_text":"UTILISATION [_Demo]ALLER IMPRIMER &#39;Créer la table&#39;CREATE TABLE test_perm_tbl (c1 INT)ALLERIMPRIMER &#39;Déposer la table&#39;DROP TABLE dbo.Can_you_drop_table  ALLERIMPRIMER &#39;Abandonner la procédure&#39;DROP PROC dbo.Can_you_drop_procedureALLERIMPRIMER «Modification de la table»ALTER TABLE dbo.Can_you_drop_table ADD col2 INTALLERIMPRIMER «Reconstruire les index»ALTER INDEX ALL ON dbo.Can_you_drop_table REBUILDALLER","html":"<p>UTILISATION [_Demo]ALLER IMPRIMER &#039;Créer la table&#039;CREATE TABLE test_perm_tbl (c1 INT)ALLERIMPRIMER &#039;Déposer la table&#039;DROP TABLE dbo.Can_you_drop_table  ALLERIMPRIMER &#039;Abandonner la procédure&#039;DROP PROC dbo.Can_you_drop_procedureALLERIMPRIMER «Modification de la table»ALTER TABLE dbo.Can_you_drop_table ADD col2 INTALLERIMPRIMER «Reconstruire les index»ALTER INDEX ALL ON dbo.Can_you_drop_table REBUILDALLER</p>"},{"id":"text-46","type":"text","heading":"","plain_text":"Voici les résultats (avec commentaires):","html":"<p>Voici les résultats (avec commentaires):</p>"},{"id":"text-47","type":"text","heading":"","plain_text":"Création de la table\nMsg 262, niveau 14, état 1, ligne 2\nAutorisation CREATE TABLE refusée dans la base de données &#39;_Demo&#39;. - Impossible de créer la table\nSuppression de la table - PEUT supprimer la table\nAbandon de la procédure\nMsg 3701, niveau 11, état 5, ligne 10\nImpossible de supprimer la procédure &#39;dbo.Can_you_drop_procedure&#39;, car elle n&#39;existe pas ou vous ne disposez pas de l&#39;autorisation. - NE PEUT PAS supprimer la procédure\nModification de la table - PEUT changer la table\nReconstruction des index - PEUT reconstruire les index","html":"<p>Création de la table\nMsg 262, niveau 14, état 1, ligne 2\nAutorisation CREATE TABLE refusée dans la base de données &#039;_Demo&#039;. - Impossible de créer la table\nSuppression de la table - PEUT supprimer la table\nAbandon de la procédure\nMsg 3701, niveau 11, état 5, ligne 10\nImpossible de supprimer la procédure &#039;dbo.Can_you_drop_procedure&#039;, car elle n&#039;existe pas ou vous ne disposez pas de l&#039;autorisation. - NE PEUT PAS supprimer la procédure\nModification de la table - PEUT changer la table\nReconstruction des index - PEUT reconstruire les index</p>"},{"id":"text-48","type":"text","heading":"","plain_text":"Ainsi, même si l&#39;utilisateur peut modifier et supprimer les tables, il ne peut pas supprimer\nd&#39;autres objets ou créez-en de nouveaux.\nScript de statistiques de mise à jour de SQL Server\n&quot;&quot;UpdateStatistics.sql&quot;script:","html":"<p>Ainsi, même si l&#039;utilisateur peut modifier et supprimer les tables, il ne peut pas supprimer\nd&#039;autres objets ou créez-en de nouveaux.\nScript de statistiques de mise à jour de SQL Server\n&quot;&quot;UpdateStatistics.sql&quot;script:</p>"},{"id":"text-49","type":"text","heading":"","plain_text":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;Exec dbo.sp_updatestatsREVENIR","html":"<p>ACTIVER LE NOCOUNTSELECT GETDATE ()EXÉCUTER COMME UTILISATEUR = &#039;dbo&#039;Exec dbo.sp_updatestatsREVENIR</p>"},{"id":"text-50","type":"text","heading":"","plain_text":"Ici est une référence à l&#39;article décrivant les autorisations requises pour la mise à jour\nstatistiques des bases de données:\nAu lieu d&#39;accorder les autorisations sysadmin au compte de service, nous utiliserons l&#39;emprunt d&#39;identité\npour notre compte de service. Il usurpera l&#39;identité de l&#39;utilisateur &quot;dbo&quot;. Pour que le\ncompte de service à exécuter &quot;EXÉCUTER\nCOMME&quot;déclaration, nous devons lui accorder les autorisations suivantes:","html":"<p>Ici est une référence à l&#039;article décrivant les autorisations requises pour la mise à jour\nstatistiques des bases de données:\nAu lieu d&#039;accorder les autorisations sysadmin au compte de service, nous utiliserons l&#039;emprunt d&#039;identité\npour notre compte de service. Il usurpera l&#039;identité de l&#039;utilisateur &quot;dbo&quot;. Pour que le\ncompte de service à exécuter &quot;EXÉCUTER\nCOMME&quot;déclaration, nous devons lui accorder les autorisations suivantes:</p>"},{"id":"text-51","type":"text","heading":"","plain_text":"UTILISATION [_Demo]ALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest]  –- pour mettre à jour les statistiquesALLER","html":"<p>UTILISATION [_Demo]ALLERGRANT IMPERSONATE SUR L&#039;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest]  –- pour mettre à jour les statistiquesALLER</p>"},{"id":"text-52","type":"text","heading":"","plain_text":"Vérifications de cohérence de la base de données SQL Server\n&quot;&quot;CheckDBs.sql&quot;:","html":"<p>Vérifications de cohérence de la base de données SQL Server\n&quot;&quot;CheckDBs.sql&quot;:</p>"},{"id":"text-53","type":"text","heading":"","plain_text":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC dbo.usp_CheckDB","html":"<p>ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC dbo.usp_CheckDB</p>"},{"id":"text-54","type":"text","heading":"","plain_text":"Nous avons créé une procédure stockée pour vérifier la base de données dans notre base de données de démonstration\npour notre démonstration des tâches de maintenance:","html":"<p>Nous avons créé une procédure stockée pour vérifier la base de données dans notre base de données de démonstration\npour notre démonstration des tâches de maintenance:</p>"},{"id":"text-55","type":"text","heading":"","plain_text":"UTILISATION [_Demo]ALLERCREATE PROC dbo.usp_CheckDBCOMMEEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]REVENIRDBCC CHECKDB AVEC NO_INFOMSGSEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] DROP MEMBER [LOCALSRVNAMESQLTaskTest]REVENIRALLER","html":"<p>UTILISATION [_Demo]ALLERCREATE PROC dbo.usp_CheckDBCOMMEEXÉCUTER COMME UTILISATEUR = &#039;dbo&#039;ALTER ROLE [db_owner] AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]REVENIRDBCC CHECKDB AVEC NO_INFOMSGSEXÉCUTER COMME UTILISATEUR = &#039;dbo&#039;ALTER ROLE [db_owner] DROP MEMBER [LOCALSRVNAMESQLTaskTest]REVENIRALLER</p>"},{"id":"text-56","type":"text","heading":"","plain_text":"Nous allons maintenant accorder au compte de service l&#39;autorisation d&#39;exécuter la procédure stockée:","html":"<p>Nous allons maintenant accorder au compte de service l&#039;autorisation d&#039;exécuter la procédure stockée:</p>"},{"id":"text-57","type":"text","heading":"","plain_text":"UTILISATION [_Demo]ALLER GRANT EXECUTE ON dbo.usp_CheckDB TO [LOCALSRVNAMESQLTaskTest]ALLER","html":"<p>UTILISATION [_Demo]ALLER GRANT EXECUTE ON dbo.usp_CheckDB TO [LOCALSRVNAMESQLTaskTest]ALLER</p>"},{"id":"text-58","type":"text","heading":"","plain_text":"Ici est une référence à l&#39;article décrivant les autorisations requises pour exécuter DBCC\nCHECKDB:\nLa vérification de la cohérence de la base de données ne peut être exécutée que par un utilisateur membre de db_owner\nrôle de base de données. L&#39;utilisateur doit être explicitement ajouté au rôle. L&#39;usurpation d&#39;identité de l&#39;utilisateur dbo\nne fonctionne pas dans ce cas:","html":"<p>Ici est une référence à l&#039;article décrivant les autorisations requises pour exécuter DBCC\nCHECKDB:\nLa vérification de la cohérence de la base de données ne peut être exécutée que par un utilisateur membre de db_owner\nrôle de base de données. L&#039;utilisateur doit être explicitement ajouté au rôle. L&#039;usurpation d&#039;identité de l&#039;utilisateur dbo\nne fonctionne pas dans ce cas:</p>"},{"id":"text-59","type":"text","heading":"","plain_text":"EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;DBCC CHECKDB AVEC NO_INFOMSGS REVENIR","html":"<p>EXÉCUTER COMME UTILISATEUR = &#039;dbo&#039;DBCC CHECKDB AVEC NO_INFOMSGS REVENIR</p>"},{"id":"text-60","type":"text","heading":"","plain_text":"Si l&#39;utilisateur n&#39;est pas membre du rôle db_owner, il y aura une erreur:","html":"<p>Si l&#039;utilisateur n&#039;est pas membre du rôle db_owner, il y aura une erreur:</p>"},{"id":"text-61","type":"text","heading":"","plain_text":"Msg 916, niveau 14, état 1, ligne 15Le serveur principal &quot;sa&quot; n&#39;est pas en mesure d&#39;accéder à la base de données &quot;_Demo&quot; dans le contexte de sécurité actuel.","html":"<p>Msg 916, niveau 14, état 1, ligne 15Le serveur principal &quot;sa&quot; n&#039;est pas en mesure d&#039;accéder à la base de données &quot;_Demo&quot; dans le contexte de sécurité actuel.</p>"},{"id":"text-62","type":"text","heading":"","plain_text":"Ainsi, dans notre procédure stockée usp_CheckDB, nous avons les étapes suivantes:","html":"<p>Ainsi, dans notre procédure stockée usp_CheckDB, nous avons les étapes suivantes:</p>"},{"id":"text-63","type":"text","heading":"","plain_text":"Emprunter l&#39;identité de l&#39;utilisateur en tant que dbo\nAccorder le rôle de compte de service de maintenance &quot;db_owner&quot;\nExécutez DBCC CHECKDB\nSupprimez le compte de service de maintenance du rôle &quot;db_owner&quot;","html":"<p>Emprunter l&#039;identité de l&#039;utilisateur en tant que dbo\nAccorder le rôle de compte de service de maintenance &quot;db_owner&quot;\nExécutez DBCC CHECKDB\nSupprimez le compte de service de maintenance du rôle &quot;db_owner&quot;</p>"},{"id":"text-64","type":"text","heading":"","plain_text":"Cela se fait via la procédure stockée pour vous assurer que le compte de service\nn&#39;a pas les autorisations db_owner ou sysadmin de façon permanente.\nVeuillez noter que les scripts que nous utilisons dans cette astuce sont très basiques et sont fournis\npour démonstration seulement.\nLa configuration de la sécurité dans cette astuce peut sembler lourde, mais cela est fait pour démontrer\nconfiguration des autorisations minimales pour le compte de service.\nAutorisations de compte de service de maintenance sur les dossiers\nNous aurons tous les scripts de maintenance et de sauvegarde sous le nouveau dossier (par exemple,\nD:  DBScripts) et les fichiers journaux (sortie) sous le sous-dossier &quot;sortie&quot;.","html":"<p>Cela se fait via la procédure stockée pour vous assurer que le compte de service\nn&#039;a pas les autorisations db_owner ou sysadmin de façon permanente.\nVeuillez noter que les scripts que nous utilisons dans cette astuce sont très basiques et sont fournis\npour démonstration seulement.\nLa configuration de la sécurité dans cette astuce peut sembler lourde, mais cela est fait pour démontrer\nconfiguration des autorisations minimales pour le compte de service.\nAutorisations de compte de service de maintenance sur les dossiers\nNous aurons tous les scripts de maintenance et de sauvegarde sous le nouveau dossier (par exemple,\nD:  DBScripts) et les fichiers journaux (sortie) sous le sous-dossier &quot;sortie&quot;.</p>"},{"id":"text-65","type":"text","heading":"","plain_text":"L&#39;exigence de sécurité consiste à s&#39;assurer que le compte de service a une capacité\npour écrire dans le dossier &quot;sortie&quot; et pour vous assurer qu&#39;il ne peut pas modifier ou\nécrire dans le dossier scripts (accès en lecture seule au dossier &quot;DBScripts&quot;).","html":"<p>L&#039;exigence de sécurité consiste à s&#039;assurer que le compte de service a une capacité\npour écrire dans le dossier &quot;sortie&quot; et pour vous assurer qu&#039;il ne peut pas modifier ou\nécrire dans le dossier scripts (accès en lecture seule au dossier &quot;DBScripts&quot;).</p>"},{"id":"text-66","type":"text","heading":"","plain_text":"Le dossier des sauvegardes devra également être sécurisé. Lis","html":"<p>Le dossier des sauvegardes devra également être sécurisé. Lis</p>"},{"id":"text-67","type":"text","heading":"","plain_text":"cette astuce sur la protection du dossier de sauvegarde SQL Server.\nDossier DBScripts\nAccédez aux propriétés du dossier &quot;DBScripts&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjouter un compte de service «SQL Task Test», accorder «Lire et exécuter»\nautorisations:","html":"<p>cette astuce sur la protection du dossier de sauvegarde SQL Server.\nDossier DBScripts\nAccédez aux propriétés du dossier &quot;DBScripts&quot;\nCliquez sur l&#039;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#039;héritage des autorisations\nSupprimez tous les utilisateurs à l&#039;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjouter un compte de service «SQL Task Test», accorder «Lire et exécuter»\nautorisations:</p>"},{"id":"text-68","type":"text","heading":"","plain_text":"Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».","html":"<p>Cochez «Remplacer toutes les autorisations d&#039;objet enfant…» et cliquez sur «OK».</p>"},{"id":"text-69","type":"text","heading":"","plain_text":"Dossier de sortie\nAccédez aux propriétés du dossier &quot;sortie&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjoutez le compte de service &quot;SQL Task Test&quot;, accordez les autorisations &quot;Write&quot;:","html":"<p>Dossier de sortie\nAccédez aux propriétés du dossier &quot;sortie&quot;\nCliquez sur l&#039;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#039;héritage des autorisations\nSupprimez tous les utilisateurs à l&#039;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjoutez le compte de service &quot;SQL Task Test&quot;, accordez les autorisations &quot;Write&quot;:</p>"},{"id":"text-70","type":"text","heading":"","plain_text":"Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK».","html":"<p>Cochez «Remplacer toutes les autorisations d&#039;objet enfant…» et cliquez sur «OK».</p>"},{"id":"text-71","type":"text","heading":"","plain_text":"Configuration et test des tâches de maintenance\nLes scripts de maintenance et de sauvegarde seront exécutés en exécutant un seul programme planifié.\ntâche. La tâche exécutera le fichier de commandes &quot;Run_DBBackups.bat&quot; (remplacer\nles noms de serveur avec vos valeurs dans ce script):","html":"<p>Configuration et test des tâches de maintenance\nLes scripts de maintenance et de sauvegarde seront exécutés en exécutant un seul programme planifié.\ntâche. La tâche exécutera le fichier de commandes &quot;Run_DBBackups.bat&quot; (remplacer\nles noms de serveur avec vos valeurs dans ce script):</p>"},{"id":"text-72","type":"text","heading":"","plain_text":"CD / D D:  DBScripts SQLCMD -E -S DEMOSQL1 -d master -i BackupAllDBs.sql -o D:  DBScripts  output  out_back.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i CheckDBs.sql -o D:  DBScripts  output  out_checkDB.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i IndexesMaintenance.sql -o D:  DBScripts  output  out_ind.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i UpdateStatistics.sql -o D:  DBScripts  output  out_stats.txt","html":"<p>CD / D D:  DBScripts SQLCMD -E -S DEMOSQL1 -d master -i BackupAllDBs.sql -o D:  DBScripts  output  out_back.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i CheckDBs.sql -o D:  DBScripts  output  out_checkDB.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i IndexesMaintenance.sql -o D:  DBScripts  output  out_ind.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i UpdateStatistics.sql -o D:  DBScripts  output  out_stats.txt</p>"},{"id":"text-73","type":"text","heading":"","plain_text":"Exécutez le Planificateur de tâches Windows et cliquez sur «Créer une tâche…» sous «Tâche\nBibliothèque du planificateur &quot;:","html":"<p>Exécutez le Planificateur de tâches Windows et cliquez sur «Créer une tâche…» sous «Tâche\nBibliothèque du planificateur &quot;:</p>"},{"id":"text-74","type":"text","heading":"","plain_text":"Sélectionnez le compte de service créé précédemment en tant qu&#39;utilisateur qui exécutera le\ntâche, sélectionnez les 2 autres options sur une capture d&#39;écran:","html":"<p>Sélectionnez le compte de service créé précédemment en tant qu&#039;utilisateur qui exécutera le\ntâche, sélectionnez les 2 autres options sur une capture d&#039;écran:</p>"},{"id":"text-75","type":"text","heading":"","plain_text":"Sous l&#39;onglet &quot;Déclencheurs&quot;, configurez un calendrier pour la tâche de maintenance:","html":"<p>Sous l&#039;onglet &quot;Déclencheurs&quot;, configurez un calendrier pour la tâche de maintenance:</p>"},{"id":"text-76","type":"text","heading":"","plain_text":"Cliquez sur l&#39;onglet &quot;Actions&quot; et entrez l&#39;emplacement et le nom du script\n(fichier * .bat):","html":"<p>Cliquez sur l&#039;onglet &quot;Actions&quot; et entrez l&#039;emplacement et le nom du script\n(fichier * .bat):</p>"},{"id":"text-77","type":"text","heading":"","plain_text":"Voici la vue finale de l&#39;action:","html":"<p>Voici la vue finale de l&#039;action:</p>"},{"id":"text-78","type":"text","heading":"","plain_text":"Cliquez sur &quot;OK&quot; pour enregistrer la tâche et entrez le compte du service\nmot de passe lorsque vous y êtes invité:","html":"<p>Cliquez sur &quot;OK&quot; pour enregistrer la tâche et entrez le compte du service\nmot de passe lorsque vous y êtes invité:</p>"},{"id":"text-79","type":"text","heading":"","plain_text":"Cliquez sur &quot;OK&quot; dans la prochaine fenêtre pop-up:","html":"<p>Cliquez sur &quot;OK&quot; dans la prochaine fenêtre pop-up:</p>"},{"id":"text-80","type":"text","heading":"","plain_text":"Nous pouvons ignorer ce message car nous avons déjà accordé notre compte de service requis\nautorisations.\nDémarrez le travail manuellement pour vérifier qu&#39;il s&#39;exécute correctement. Vérifiez le dossier de sortie\npour valider les résultats:","html":"<p>Nous pouvons ignorer ce message car nous avons déjà accordé notre compte de service requis\nautorisations.\nDémarrez le travail manuellement pour vérifier qu&#039;il s&#039;exécute correctement. Vérifiez le dossier de sortie\npour valider les résultats:</p>"},{"id":"text-81","type":"text","heading":"","plain_text":"Prochaines étapes\nDernière mise à jour: 2019-12-18","html":"<p>Prochaines étapes\nDernière mise à jour: 2019-12-18</p>"},{"id":"text-82","type":"text","heading":"","plain_text":"A propos de l&#39;auteur","html":"<p>A propos de l&#039;auteur</p>"},{"id":"text-83","type":"text","heading":"","plain_text":"Svetlana Golovko est une DBA avec 13 ans d&#39;expérience en informatique (y compris SQL Server et Oracle) avec un accent principal sur les performances. \nVoir tous mes conseils","html":"<p>Svetlana Golovko est une DBA avec 13 ans d&#039;expérience en informatique (y compris SQL Server et Oracle) avec un accent principal sur les performances. \nVoir tous mes conseils</p>"},{"id":"text-84","type":"text","heading":"","plain_text":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"Par: Svetlana Golovko | Mis à jour: 2019-12-18 | Commentaires | En relation: Plus&gt; Installer et désinstaller"},{"id":"text-2","heading":"Text","content":"Problème\nNous connaissons tous la meilleure pratique de configuration de SQL Server sur un hôte dédié,\nidéalement, SQL Server ne devrait pas partager le serveur avec d&#39;autres applications. Mais\ndans la vraie vie, il y a parfois des scénarios où une application doit être installée\navec SQL Server sur la même machine. Ces scénarios incluent généralement des applications isolées\nconfiguration qui nécessite une sécurité stricte ou doit être séparée du reste de\nl&#39;environnement. Cela pourrait également s&#39;appliquer aux applications qui doivent\navoir SQL Server Express installé sur le même serveur.\nComment verrouiller SQL Server? Comment pouvons-nous nous assurer que notre serveur est sécurisé et\nprotégé contre les accès externes?\nSolution\nDans cette astuce, nous fournirons des recommandations pour renforcer l&#39;installation de SQL Server\npour la configuration où SQL Server n&#39;est accessible que par l&#39;application installée\nsur le même serveur. Dans la plupart des cas, il s&#39;agit d&#39;un serveur autonome qui n&#39;est même pas joint à un domaine. Nous fournirons des exemples et des scripts pour la configuration des autorisations minimales requises\npour les sauvegardes et la maintenance des bases de données.\nÉtapes de pré-installation\nPar défaut, si vous ne créez pas le dossier pour SQL Server à l&#39;avance, le\nLes dossiers de données auront certaines des autorisations héritées du dossier parent.\nLe groupe local &quot;Utilisateurs&quot; (COMPUTERNAME  Users) aura des autorisations de lecture\naux dossiers:"},{"id":"text-3","heading":"Text","content":"Avant de commencer l&#39;installation, nous créerons des données, des sauvegardes et d&#39;autres dossiers\net assurez-vous que seuls les administrateurs ont accès à ces dossiers.\nNous allons d&#39;abord créer les nouveaux dossiers et désactiver l&#39;héritage des autorisations:"},{"id":"text-4","heading":"Text","content":"Convertir les autorisations en autorisations explicites lorsque vous y êtes invité et supprimer le local\n&quot;Utilisateurs&quot;\nAutorisations du groupe (&quot;Lire et exécuter&quot; et &quot;Spécial&quot;):"},{"id":"text-5","heading":"Text","content":"Les comptes de service SQL Server recevront les autorisations requises lors de l&#39;installation\nplus tard, nous n&#39;avons donc pas besoin de le faire maintenant.\nLes autorisations du système de fichiers requises pour les comptes de service SQL ont été trouvées"},{"id":"text-6","heading":"Text","content":"ici.\nInstallation de SQL Server\nDémarrez l&#39;installation de SQL Server comme vous le faites habituellement. Suivez les invites d&#39;installation jusqu&#39;à\nÉcran &quot;Sélection des fonctionnalités&quot;.\nSur l&#39;écran de sélection des fonctionnalités, assurez-vous que seuls les «services du moteur de base de données»\nest sélectionné:"},{"id":"text-7","heading":"Text","content":"Ne sélectionnez pas les fonctionnalités habituelles que vous installez habituellement, telles que: Outils SQL Server,\nRecherche plein texte, etc.\nRemarque: que le texte intégral peut être requis pour votre\nou reportez-vous à la documentation de votre fournisseur pour connaître les exigences relatives aux fonctionnalités de SQL Server."},{"id":"text-8","heading":"Text","content":"En outre, nous supposons qu&#39;il s&#39;agit d&#39;une application simple qui ne nécessite qu&#39;une base de données\nfonction moteur (pas de SSRS, SSAS, etc.).\nNous voulons réduire la surface de sécurité, donc l&#39;Agent SQL Server et le Navigateur SQL Server\nsera également désactivé. Toutes les tâches de maintenance et de sauvegarde planifiées s&#39;exécuteront sous Windows\nTâches planifiées qui seront configurées ultérieurement:"},{"id":"text-9","heading":"Text","content":"Gardez les comptes de service par défaut. Lis"},{"id":"text-10","heading":"Text","content":"cette Article de Microsoft sur les comptes de service et les autorisations nécessaires\npour les comptes.\nSi l&#39;application prend en charge l&#39;authentification Windows &#8211; conservez l&#39;authentification par défaut\nMode (Windows).\nUtilisez le répertoire (ou les répertoires si vous utilisez plusieurs lecteurs) que nous avons créé\navant de commencer l&#39;installation:"},{"id":"text-11","heading":"Text","content":"Terminez l&#39;installation.\nLis"},{"id":"text-12","heading":"Text","content":"cette astuce pour le Guide d&#39;installation pas à pas complet de SQL Server 2017."},{"id":"text-13","heading":"Text","content":"Configuration de la sécurité de SQL Server\nNous allons configurer ici certaines des fonctionnalités de sécurité.\nDésactivez tous les protocoles réseau à l&#39;exception de la &quot;mémoire partagée&quot;:"},{"id":"text-14","heading":"Text","content":"Validez dans SQL Server Configuration Manager que tous les services sauf &quot;SQL&quot;\nServeur &quot;sont désactivés:"},{"id":"text-15","heading":"Text","content":"Masquez l&#39;instance à l&#39;aide de SQL Server Configuration Manager. Lis"},{"id":"text-16","heading":"Text","content":"cette astuce sur le masquage des instances SQL Server."},{"id":"text-17","heading":"Text","content":"Assurez-vous que l&#39;accès à distance est désactivé:"},{"id":"text-18","heading":"Text","content":"UTILISATION [master]ALLEREXEC sys.sp_configure N&#39;remote access &#39;, N&#39;0&#39;ALLERRECONFIGURER AVEC OVERRIDEALLER"},{"id":"text-19","heading":"Text","content":"Activez les stratégies de mot de passe locales si vous configurez SQL Server sur un serveur autonome\nserveur. Les serveurs joints au domaine doivent hériter des stratégies de domaine, vous pouvez donc ignorer\ncette étape pour les serveurs qui font partie du domaine Active Directory. Le mot de passe\nles stratégies pour le domaine sont généralement configurées par vos administrateurs système.\nSur un serveur autonome:\nDémarrer la console MMC\nCliquez sur &quot;Fichier&quot;&gt; &quot;Ajouter / Supprimer un composant logiciel enfichable…&quot;\nSélectionnez &quot;Éditeur d&#39;objets de stratégie de groupe&quot;, cliquez sur &quot;Ajouter&quot;, confirmez\nla sélection d&#39;objet de stratégie de groupe &quot;Ordinateur local&quot;:"},{"id":"text-20","heading":"Text","content":"Cliquez sur OK&quot;\nSous &quot;Stratégie de l&#39;ordinateur local&quot;, développez &quot;Configuration de l&#39;ordinateur&quot;,\npuis &quot;Paramètres Windows&quot;, puis &quot;Paramètres de sécurité&quot;, &quot;Compte\nPolitiques &quot;,&quot; Politique de mot de passe &quot;\nModifiez les politiques à droite pour appliquer des mots de passe forts:"},{"id":"text-21","heading":"Text","content":"En savoir plus sur la configuration des stratégies de mot de passe locales sous Windows"},{"id":"text-22","heading":"Text","content":"ici. Lis"},{"id":"text-23","heading":"Text","content":"cette article sur les stratégies de mot de passe SQL Server.\nLaissez la console MMC ouverte pour les étapes suivantes.\nAutres étapes de post-installation\nInstallez les derniers correctifs et correctifs (y compris les correctifs Windows).\nDéfinissez un mot de passe fort, renommez et désactivez la connexion &quot;sa&quot;."},{"id":"text-24","heading":"Text","content":"Cette astuce possède une liste de contrôle de sécurité pour SQL Server. Assurez-vous d&#39;avoir examiné le\nliste de contrôle et"},{"id":"text-25","heading":"Text","content":"cette guide de sécurité pour toutes les configurations de sécurité supplémentaires qui pourraient être\nobligatoire.\nCréation de compte de service de maintenance\nNous allons créer un compte de service local pour exécuter la maintenance SQL Server planifiée\nTâches (mise à jour des statistiques, sauvegarde des bases de données, etc.). Nous allons utiliser l&#39;ordinateur\nOutil de gestion sur notre serveur SQL pour cela:"},{"id":"text-26","heading":"Text","content":"Ce compte de service exécutera les tâches planifiées de Windows. L&#39;utilisateur n&#39;a pas besoin\nêtre membre de tout groupe, mais il doit avoir"},{"id":"text-27","heading":"Text","content":"&quot;Se connecter en tant que tâche par lots&quot; autorisations locales afin d&#39;exécuter des travaux Windows.\nRevenez à la console MMC pour attribuer la stratégie «Se connecter en tant que tâche par lots»\nsur le compte de service:"},{"id":"text-28","heading":"Text","content":"Cliquez sur le bouton &quot;Ajouter un utilisateur ou un groupe…&quot; et ajoutez &quot;SQLTaskTest&quot;\nutilisateur que nous avons créé précédemment:"},{"id":"text-29","heading":"Text","content":"Autorisations de compte du service de maintenance sur SQL Server et les bases de données\nCe sont les autorisations minimales requises pour le compte de service pour exécuter le\nsauvegarde des bases de données et tâches de maintenance:"},{"id":"text-30","heading":"Text","content":"UTILISATION [master]ALLERCRÉER UNE CONNEXION [LOCALSRVNAMESQLTaskTest] DE WINDOWS DEFAULT_DATABASE =[master], CHECK_EXPIRATION = OFF, CHECK_POLICY = ONALLERUTILISATION [_Demo] - pour chaque base de données sauf tempdbALLERCRÉER UN UTILISATEUR [LOCALSRVNAMESQLTaskTest] POUR LA CONNEXION [LOCALSRVNAMESQLTaskTest]ALLERALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]  –- pour créer des sauvegardesALLERDONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest] –- pour mettre à jour les statistiquesALLER"},{"id":"text-31","heading":"Text","content":"La justification de ces autorisations est fournie ci-dessous pour chaque script / tâche."},{"id":"text-32","heading":"Text","content":"Scripts de maintenance SQL Server\nNous devrons exécuter les tâches suivantes:"},{"id":"text-33","heading":"Text","content":"Sauvegardes de bases de données\nMaintenance des index\nMises à jour des statistiques\nContrôles de cohérence des bases de données"},{"id":"text-34","heading":"Text","content":"Voici les scripts SQL Server et le script du système d&#39;exploitation exécutable (fichier * .bat) qui s&#39;exécuteront\nces scripts SQL:"},{"id":"text-35","heading":"Text","content":"Script de sauvegarde de toutes les bases de données SQL Server\n&quot;BackupAllDBs.sql&quot;script (remplacez le nom du dossier de sauvegarde par votre\ndans ce script):"},{"id":"text-36","heading":"Text","content":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC sys.sp_MSforeachdb &#39;IF (SELECT&#39; &#39;?&#39; &#39;) &lt;&gt;&#39; &#39;Tempdb&#39; &#39;COMMENCERBASE DE DONNÉES DE SAUVEGARDE [?] TO DISK = N&#39;&#39;D:  Backups  ?. BAK &#39;&#39; AVEC NOFORMAT, INIT, NAME = N &#39;&#39;? - SAUVEGARDE COMPLÈTE DE LA BASE DE DONNÉES &#39;&#39;FIN&#39;"},{"id":"text-37","heading":"Text","content":"Ici est une référence aux autorisations requises pour sauvegarder les bases de données:\nNous accorderons les autorisations minimales requises pour créer les sauvegardes de notre service\ncompte (requis pour chaque base de données qui sera sauvegardée):"},{"id":"text-38","heading":"Text","content":"ALTER ROLE db_backupoperator AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest] –- pour créer des sauvegardesALLER"},{"id":"text-39","heading":"Text","content":"Script de maintenance d&#39;index SQL Server\n&quot;IndexesMaintenance.sql&quot;script:\nJ&#39;ai utilisé le script de reconstruction d&#39;index à partir de \ncette astuce. Il reconstruit tous les index sur toutes les bases de données (ou les bases de données spécifiées dans\nle script). Vous pouvez également créer un script plus sélectif qui ne reconstruit que\nindex fragmentés, mais nous utiliserons ce script pour la démonstration\nde la configuration des autorisations minimales."},{"id":"text-40","heading":"Text","content":"Ici est une référence aux autorisations requises pour reconstruire ou réorganiser le\nindex:\nNous pourrions éventuellement accorder à notre compte de service le rôle &quot;db_ddladmin&quot;,\nmais cela signifie que notre utilisateur pourra créer et supprimer les tables. Nous allons\naccordez au lieu de cela les autorisations suivantes:"},{"id":"text-41","heading":"Text","content":"DONNER ALTER N&#39;IMPORTE QUEL SCHÉMA À [LOCALSRVNAMESQLTaskTest] –- pour reconstruire des indexALLER"},{"id":"text-42","heading":"Text","content":"Nous pouvons tester si l&#39;utilisateur peut créer ou supprimer des tables ou d&#39;autres objets. Nous allons\ncréer quelques objets de test (en tant que compte sysadmin ou db_owner):"},{"id":"text-43","heading":"Text","content":"UTILISATION [_Demo]ALLERCRÉER LA TABLE dbo.Can_you_drop_table (col1 INT NOT NULL,CONTRAINTE PK_Can_you_drop_table CLÉ PRIMAIRE CLUSTERED (col1 ASC)ALLERCREATE PROC dbo.Can_you_drop_procedureCOMMESELECT col1 FROM dbo.Can_you_drop_tableALLER"},{"id":"text-44","heading":"Text","content":"Maintenant, nous allons nous connecter avec le compte de service et exécuter le script suivant:"},{"id":"text-45","heading":"Text","content":"UTILISATION [_Demo]ALLER IMPRIMER &#39;Créer la table&#39;CREATE TABLE test_perm_tbl (c1 INT)ALLERIMPRIMER &#39;Déposer la table&#39;DROP TABLE dbo.Can_you_drop_table  ALLERIMPRIMER &#39;Abandonner la procédure&#39;DROP PROC dbo.Can_you_drop_procedureALLERIMPRIMER «Modification de la table»ALTER TABLE dbo.Can_you_drop_table ADD col2 INTALLERIMPRIMER «Reconstruire les index»ALTER INDEX ALL ON dbo.Can_you_drop_table REBUILDALLER"},{"id":"text-46","heading":"Text","content":"Voici les résultats (avec commentaires):"},{"id":"text-47","heading":"Text","content":"Création de la table\nMsg 262, niveau 14, état 1, ligne 2\nAutorisation CREATE TABLE refusée dans la base de données &#39;_Demo&#39;. - Impossible de créer la table\nSuppression de la table - PEUT supprimer la table\nAbandon de la procédure\nMsg 3701, niveau 11, état 5, ligne 10\nImpossible de supprimer la procédure &#39;dbo.Can_you_drop_procedure&#39;, car elle n&#39;existe pas ou vous ne disposez pas de l&#39;autorisation. - NE PEUT PAS supprimer la procédure\nModification de la table - PEUT changer la table\nReconstruction des index - PEUT reconstruire les index"},{"id":"text-48","heading":"Text","content":"Ainsi, même si l&#39;utilisateur peut modifier et supprimer les tables, il ne peut pas supprimer\nd&#39;autres objets ou créez-en de nouveaux.\nScript de statistiques de mise à jour de SQL Server\n&quot;&quot;UpdateStatistics.sql&quot;script:"},{"id":"text-49","heading":"Text","content":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;Exec dbo.sp_updatestatsREVENIR"},{"id":"text-50","heading":"Text","content":"Ici est une référence à l&#39;article décrivant les autorisations requises pour la mise à jour\nstatistiques des bases de données:\nAu lieu d&#39;accorder les autorisations sysadmin au compte de service, nous utiliserons l&#39;emprunt d&#39;identité\npour notre compte de service. Il usurpera l&#39;identité de l&#39;utilisateur &quot;dbo&quot;. Pour que le\ncompte de service à exécuter &quot;EXÉCUTER\nCOMME&quot;déclaration, nous devons lui accorder les autorisations suivantes:"},{"id":"text-51","heading":"Text","content":"UTILISATION [_Demo]ALLERGRANT IMPERSONATE SUR L&#39;UTILISATEUR :: dbo TO [LOCALSRVNAMESQLTaskTest]  –- pour mettre à jour les statistiquesALLER"},{"id":"text-52","heading":"Text","content":"Vérifications de cohérence de la base de données SQL Server\n&quot;&quot;CheckDBs.sql&quot;:"},{"id":"text-53","heading":"Text","content":"ACTIVER LE NOCOUNTSELECT GETDATE ()EXEC dbo.usp_CheckDB"},{"id":"text-54","heading":"Text","content":"Nous avons créé une procédure stockée pour vérifier la base de données dans notre base de données de démonstration\npour notre démonstration des tâches de maintenance:"},{"id":"text-55","heading":"Text","content":"UTILISATION [_Demo]ALLERCREATE PROC dbo.usp_CheckDBCOMMEEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] AJOUTER UN MEMBRE [LOCALSRVNAMESQLTaskTest]REVENIRDBCC CHECKDB AVEC NO_INFOMSGSEXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;ALTER ROLE [db_owner] DROP MEMBER [LOCALSRVNAMESQLTaskTest]REVENIRALLER"},{"id":"text-56","heading":"Text","content":"Nous allons maintenant accorder au compte de service l&#39;autorisation d&#39;exécuter la procédure stockée:"},{"id":"text-57","heading":"Text","content":"UTILISATION [_Demo]ALLER GRANT EXECUTE ON dbo.usp_CheckDB TO [LOCALSRVNAMESQLTaskTest]ALLER"},{"id":"text-58","heading":"Text","content":"Ici est une référence à l&#39;article décrivant les autorisations requises pour exécuter DBCC\nCHECKDB:\nLa vérification de la cohérence de la base de données ne peut être exécutée que par un utilisateur membre de db_owner\nrôle de base de données. L&#39;utilisateur doit être explicitement ajouté au rôle. L&#39;usurpation d&#39;identité de l&#39;utilisateur dbo\nne fonctionne pas dans ce cas:"},{"id":"text-59","heading":"Text","content":"EXÉCUTER COMME UTILISATEUR = &#39;dbo&#39;DBCC CHECKDB AVEC NO_INFOMSGS REVENIR"},{"id":"text-60","heading":"Text","content":"Si l&#39;utilisateur n&#39;est pas membre du rôle db_owner, il y aura une erreur:"},{"id":"text-61","heading":"Text","content":"Msg 916, niveau 14, état 1, ligne 15Le serveur principal &quot;sa&quot; n&#39;est pas en mesure d&#39;accéder à la base de données &quot;_Demo&quot; dans le contexte de sécurité actuel."},{"id":"text-62","heading":"Text","content":"Ainsi, dans notre procédure stockée usp_CheckDB, nous avons les étapes suivantes:"},{"id":"text-63","heading":"Text","content":"Emprunter l&#39;identité de l&#39;utilisateur en tant que dbo\nAccorder le rôle de compte de service de maintenance &quot;db_owner&quot;\nExécutez DBCC CHECKDB\nSupprimez le compte de service de maintenance du rôle &quot;db_owner&quot;"},{"id":"text-64","heading":"Text","content":"Cela se fait via la procédure stockée pour vous assurer que le compte de service\nn&#39;a pas les autorisations db_owner ou sysadmin de façon permanente.\nVeuillez noter que les scripts que nous utilisons dans cette astuce sont très basiques et sont fournis\npour démonstration seulement.\nLa configuration de la sécurité dans cette astuce peut sembler lourde, mais cela est fait pour démontrer\nconfiguration des autorisations minimales pour le compte de service.\nAutorisations de compte de service de maintenance sur les dossiers\nNous aurons tous les scripts de maintenance et de sauvegarde sous le nouveau dossier (par exemple,\nD:  DBScripts) et les fichiers journaux (sortie) sous le sous-dossier &quot;sortie&quot;."},{"id":"text-65","heading":"Text","content":"L&#39;exigence de sécurité consiste à s&#39;assurer que le compte de service a une capacité\npour écrire dans le dossier &quot;sortie&quot; et pour vous assurer qu&#39;il ne peut pas modifier ou\nécrire dans le dossier scripts (accès en lecture seule au dossier &quot;DBScripts&quot;)."},{"id":"text-66","heading":"Text","content":"Le dossier des sauvegardes devra également être sécurisé. Lis"},{"id":"text-67","heading":"Text","content":"cette astuce sur la protection du dossier de sauvegarde SQL Server.\nDossier DBScripts\nAccédez aux propriétés du dossier &quot;DBScripts&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjouter un compte de service «SQL Task Test», accorder «Lire et exécuter»\nautorisations:"},{"id":"text-68","heading":"Text","content":"Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK»."},{"id":"text-69","heading":"Text","content":"Dossier de sortie\nAccédez aux propriétés du dossier &quot;sortie&quot;\nCliquez sur l&#39;onglet &quot;Sécurité&quot;\nCliquez sur &quot;Avancé&quot;\nDésactiver l&#39;héritage des autorisations\nSupprimez tous les utilisateurs à l&#39;exception des administrateurs, SYSTEM, CREATOR OWNER (assurez-vous\navoir accès au dossier, nous supposons que nous sommes membres des administrateurs locaux\ngroupe lorsque nous apportons ces modifications)\nAjoutez le compte de service &quot;SQL Task Test&quot;, accordez les autorisations &quot;Write&quot;:"},{"id":"text-70","heading":"Text","content":"Cochez «Remplacer toutes les autorisations d&#39;objet enfant…» et cliquez sur «OK»."},{"id":"text-71","heading":"Text","content":"Configuration et test des tâches de maintenance\nLes scripts de maintenance et de sauvegarde seront exécutés en exécutant un seul programme planifié.\ntâche. La tâche exécutera le fichier de commandes &quot;Run_DBBackups.bat&quot; (remplacer\nles noms de serveur avec vos valeurs dans ce script):"},{"id":"text-72","heading":"Text","content":"CD / D D:  DBScripts SQLCMD -E -S DEMOSQL1 -d master -i BackupAllDBs.sql -o D:  DBScripts  output  out_back.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i CheckDBs.sql -o D:  DBScripts  output  out_checkDB.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i IndexesMaintenance.sql -o D:  DBScripts  output  out_ind.txtSQLCMD -E -S DEMOSQL1 -d _Demo -i UpdateStatistics.sql -o D:  DBScripts  output  out_stats.txt"},{"id":"text-73","heading":"Text","content":"Exécutez le Planificateur de tâches Windows et cliquez sur «Créer une tâche…» sous «Tâche\nBibliothèque du planificateur &quot;:"},{"id":"text-74","heading":"Text","content":"Sélectionnez le compte de service créé précédemment en tant qu&#39;utilisateur qui exécutera le\ntâche, sélectionnez les 2 autres options sur une capture d&#39;écran:"},{"id":"text-75","heading":"Text","content":"Sous l&#39;onglet &quot;Déclencheurs&quot;, configurez un calendrier pour la tâche de maintenance:"},{"id":"text-76","heading":"Text","content":"Cliquez sur l&#39;onglet &quot;Actions&quot; et entrez l&#39;emplacement et le nom du script\n(fichier * .bat):"},{"id":"text-77","heading":"Text","content":"Voici la vue finale de l&#39;action:"},{"id":"text-78","heading":"Text","content":"Cliquez sur &quot;OK&quot; pour enregistrer la tâche et entrez le compte du service\nmot de passe lorsque vous y êtes invité:"},{"id":"text-79","heading":"Text","content":"Cliquez sur &quot;OK&quot; dans la prochaine fenêtre pop-up:"},{"id":"text-80","heading":"Text","content":"Nous pouvons ignorer ce message car nous avons déjà accordé notre compte de service requis\nautorisations.\nDémarrez le travail manuellement pour vérifier qu&#39;il s&#39;exécute correctement. Vérifiez le dossier de sortie\npour valider les résultats:"},{"id":"text-81","heading":"Text","content":"Prochaines étapes\nDernière mise à jour: 2019-12-18"},{"id":"text-82","heading":"Text","content":"A propos de l&#39;auteur"},{"id":"text-83","heading":"Text","content":"Svetlana Golovko est une DBA avec 13 ans d&#39;expérience en informatique (y compris SQL Server et Oracle) avec un accent principal sur les performances. \nVoir tous mes conseils"},{"id":"text-84","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":"https://tutos-gameserver.fr/wp-content/uploads/2020/01/6266_NewsletterImage.png"},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2020/01/13/meilleures-pratiques-de-securite-sql-server-pour-une-application-installee-sur-sql-server-serveur-dimpression/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}