Utilitaire sqlmaintsqlmaint Utility

L’utilitairesqlmaint exécute un ensemble spécifique d’opérations de maintenance sur une ou plusieurs bases de données.Thesqlmaint utility performs a specified set of maintenance operations on one or more databases. Utilisez sqlmaint pour exécuter des vérifications DBCC, sauvegarder une base de données et son journal des transactions, mettre à jour des statistiques et reconstruire des index.Use sqlmaint to run DBCC checks, back up a database and its transaction log, update statistics, and rebuild indexes. Toutes les activités de maintenance de base de données produisent un rapport qui peut être envoyé vers un fichier texte, un fichier HTML ou un compte de messagerie déterminé.All database maintenance activities generate a report that can be sent to a designated text file, HTML file, or e-mail account. sqlmaint exécute les plans de maintenance de base de données créés avec des versions précédentes de SQL ServerSQL Server.sqlmaint executes database maintenance plans created with previous versions of SQL ServerSQL Server. Pour exécuter des plans de maintenance SQL ServerSQL Server à partir de l’invite de commandes, utilisez l’utilitaire dtexec.To run SQL ServerSQL Server maintenance plans from the command prompt, use the dtexec Utility.

Important

Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server.This feature will be removed in the next version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Utilisez plutôt la fonction plan de maintenance de SQL ServerSQL Server. Use SQL ServerSQL Server maintenance plan feature instead. Pour plus d’informations sur les plans de maintenance, consultez Plans de maintenance.For more information on maintenance plans, see Maintenance Plans.

SyntaxeSyntax


sqlmaint   
[-?] |  
[  
     [-S server_name[\instance_name]]  
     [-U login_ID [-P password]]  
     {  
          [-D database_name | -PlanName name | -PlanID guid ]  
          [-Rpt text_file]  
          [-To operator_name]  
          [-HtmlRpt html_file [-DelHtmlRpt <time_period>] ]  
          [-RmUnusedSpace threshold_percentfree_percent]  
          [-CkDB | -CkDBNoIdx]  
          [-CkAl | -CkAlNoIdx]  
          [-CkCat]  
          [-UpdOptiStats sample_percent]  
          [-RebldIdx free_space]  
          [-SupportComputedColumn]  
          [-WriteHistory]  
          [  
               {-BkUpDB [backup_path] | -BkUpLog [backup_path] }  
               {-BkUpMedia  
                    {DISK [  
                           [-DelBkUps <time_period>]   
                           [-CrBkSubDir ]   
                           [-UseDefDir ]   
                          ]  
                     | TAPE   
                    }  
               }  
               [-BkUpOnlyIfClean]  
               [-VrfyBackup]  
          ]  
     }  
]  
<time_period> ::=  
number[minutes | hours | days | weeks | months]  

ArgumentsArguments

Les paramètres et leurs valeurs doivent être séparés par un espace.The parameters and their values must be separated by a space. Par exemple, il doit exister un espace entre -S et server_name.For example, there must be a space between -S and server_name.

-?-?
Spécifie que le diagramme de syntaxe pour l’utilitaire sqlmaint doit être retourné.Specifies that the syntax diagram for sqlmaint be returned. Ce paramètre doit être utilisé seul.This parameter must be used alone.

-S server_name[ \instance_name]-S server_name[ \instance_name]
Spécifie l’instance cible de MicrosoftMicrosoft SQL ServerSQL Server.Specifies the target instance of MicrosoftMicrosoft SQL ServerSQL Server. Spécifiez server_name pour vous connecter à l’instance par défaut du Moteur de base de données SQL ServerSQL Server Database Engine sur ce serveur.Specify server_name to connect to the default instance of Moteur de base de données SQL ServerSQL Server Database Engine on that server. Spécifiez server_name\nom_instance pour vous connecter à une instance nommée du Moteur de base de donnéesDatabase Engine sur ce serveur.Specify server_name\instance_name to connect to a named instance of Moteur de base de donnéesDatabase Engine on that server. Si aucun serveur n’est spécifié, sqlmaint se connecte à l’instance par défaut de Moteur de base de donnéesDatabase Engine sur l’ordinateur local.If no server is specified, sqlmaint connects to the default instance of Moteur de base de donnéesDatabase Engine on the local computer.

-U login_ID-U login_ID
Spécifie l'ID de connexion à utiliser lors de la connexion au serveur.Specifies the login ID to use when connecting to the server. Si celui-ci n’est pas fourni, sqlmaint tente d’utiliser l’authentification MicrosoftMicrosoft Windows.If not supplied, sqlmaint attempts to use MicrosoftMicrosoft Windows Authentication. Si login_ID contient des caractères spéciaux, il doit être encadré par des guillemets doubles. Ceux-ci sont facultatifs dans tous les autres cas.If login_ID contains special characters, it must be enclosed in double quotation marks ("); otherwise, the double quotation marks are optional.

Important

Lorsque c'est possible, utilisez l'authentification Windows.When possible, use Windows Authentication.

-P password-P password
Spécifie le mot de passe de l’ID de connexion.Specifies the password for the login ID. Uniquement valide si le paramètre -U est également fourni.Only valid if the -U parameter is also supplied. Si le password contient des caractères spéciaux, il doit être encadré par des guillemets doubles ; ceux-ci sont facultatifs dans tous les autres cas.If password contains special characters, it must be enclosed in double quotation marks; otherwise, the double quotation marks are optional.

Important

Le mot de passe n'est pas masqué.The password is not masked. Lorsque c'est possible, utilisez l'authentification Windows.When possible, use Windows Authentication.

-D database_name-D database_name
Spécifie le nom de la base de données dans laquelle l'opération de maintenance doit être effectuée.Specifies the name of the database in which to perform the maintenance operation. Si database_name contient des caractères spéciaux, il doit être encadré par des guillemets doubles. Ceux-ci sont facultatifs dans tous les autres cas.If database_name contains special characters, it must be enclosed in double quotation marks; otherwise, the double quotation marks are optional.

-PlanName name-PlanName name
Spécifie le nom du plan de maintenance de base de données défini par l'Assistant Plan de maintenance de base de données.Specifies the name of a database maintenance plan defined using the Database Maintenance Plan Wizard. La seule information du plan utilisée par sqlmaint est la liste des bases de données qui y figurent.The only information sqlmaint uses from the plan is the list of the databases in the plan. Toutes les activités de maintenance spécifiées dans les autres paramètres de sqlmaint s’appliquent à cette liste de bases de données.Any maintenance activities you specify in the other sqlmaint parameters are applied to this list of databases.

-PlanID guid-PlanID guid
Spécifie l'identificateur global unique (GUID) d'un plan de maintenance de base de données à l'aide de l'Assistant Plan de maintenance de base de données.Specifies the globally unique identifier (GUID) of a database maintenance plan defined using the Database Maintenance Plan Wizard. La seule information du plan utilisée par sqlmaint est la liste des bases de données qui y figurent.The only information sqlmaint uses from the plan is the list of the databases in the plan. Toutes les activités de maintenance spécifiées dans les autres paramètres de sqlmaint s’appliquent à cette liste de bases de données.Any maintenance activities you specify in the other sqlmaint parameters are applied to this list of databases. Cela doit correspondre à une valeur plan_id dans msdb.dbo.sysdbmaintplans.This must match a plan_id value in msdb.dbo.sysdbmaintplans.

-Rpt text_file-Rpt text_file
Spécifie le chemin et le nom complet du fichier dans lequel le rapport doit être créé.Specifies the full path and name of the file into which the report is to be generated. Le rapport est aussi créé à l'écran.The report is also generated on the screen. Le rapport conserve les informations de version en ajoutant une date au nom de fichier.The report maintains version information by adding a date to the file name. La date est générée comme suit : à la fin du nom de fichier, mais avant le point, sous la forme yyyyMMddhhmm.The date is generated as follows: at the end of the file name but before the period, in the form yyyyMMddhhmm. yyyy = année, MM = mois, dd = jour, hh = heure, mm = minute.yyyy = year, MM = month, dd = day, hh = hour, mm = minute.

Si vous exécutez l'utilitaire à 10h23If you run the utility at 10:23 A.M. le 1er décembre 1996, avec la valeur text_file suivante :on December 1, 1996, and this is the text_file value:

c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint.rpt  

Le nom du fichier créé est :The generated file name is:

c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint_199612011023.rpt  

Le nom de fichier complet UNC (Universal Naming Convention) est requis pour text_file lorsque sqlmaint accède à un serveur distant.The full Universal Naming Convention (UNC) file name is required for text_file when sqlmaint accesses a remote server.

-To operator_name-To operator_name
Spécifie l'opérateur auquel le rapport créé sera envoyé par l'intermédiaire de SQL Mail.Specifies the operator to whom the generated report is sent through SQL Mail.

-HtmlRpt html_file-HtmlRpt html_file
Spécifie le chemin et le nom complets du fichier dans lequel un rapport HTML doit être créé.Specifies the full path and name of the file into which an HTML report is to be generated. sqlmaint crée le nom de fichier en lui ajoutant une chaîne de type yyyyMMddhhmm de la même manière que pour le paramètre -Rpt .sqlmaint generates the file name by appending a string of the format yyyyMMddhhmm to the file name, just as it does for the -Rpt parameter.

Le nom de fichier complet UNC est requis pour html_file lorsque sqlmaint accède à un serveur distant.The full UNC file name is required for html_file when sqlmaint accesses a remote server.

-DelHtmlRpt <time_period>-DelHtmlRpt <time_period>
Spécifie que tous les rapports HTML dans le répertoire de rapports supprimés si l’intervalle de temps après la création du fichier du rapport dépasse < time_period>.Specifies that any HTML report in the report directory be deleted if the time interval after the creation of the report file exceeds <time_period>. -DelHtmlRpt recherche les fichiers dont les noms correspondent au modèle créé à partir du paramètre html_file .-DelHtmlRpt looks for files whose name fits the pattern generated from the html_file parameter. Si html_file est c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint.htm, puis - DelHtmlRpt entraîne sqlmaint tous les fichiers dont les noms correspondent au modèle C:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint*.htm et qui sont plus anciens que la valeur spécifiée < time_period>.If html_file is c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint.htm, then -DelHtmlRpt causes sqlmaint to delete any files whose names match the pattern C:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint*.htm and that are older than the specified <time_period>.

-RmUnusedSpace threshold_percent free_percent-RmUnusedSpace threshold_percent free_percent
Spécifie que l’espace inutilisé est retiré de la base de données spécifiée dans -D.Specifies that unused space be removed from the database specified in -D. Cette option est uniquement utile pour les bases de données dont la configuration prévoit une croissance automatique.This option is only useful for databases that are defined to grow automatically. Threshold_percent indique, en Mo, la taille qu’une base de données doit atteindre pour que sqlmaint tente d’en supprimer l’espace de données inutilisé.Threshold_percent specifies in megabytes the size that the database must reach before sqlmaint attempts to remove unused data space. Si la base de données est plus petite que threshold_percent, aucune action n’est exécutée.If the database is smaller than the threshold_percent, no action is taken. Free_percent spécifie l’espace qui doit rester libre dans la base de données, exprimé sous la forme d’un pourcentage de la taille finale de celle-ci.Free_percent specifies how much unused space must remain in the database, specified as a percentage of the final size of the database. Prenons l’exemple d’une base de données de 200 Mo contenant 100 Mo de données. Si la valeur 10 est affectée à free_percent , la base de données a pour taille finale 110 Mo.For example, if a 200-MB database contains 100 MB of data, specifying 10 for free_percent results in the final database size being 110 MB. La base de données n’est pas étendue si elle est inférieure à la valeur de free_percent augmentée de la quantité de données contenue dans la base de données.Note that a database is not expanded if it is smaller than free_percent plus the amount of data in the database. Prenons l’exemple d’une base de données de 108 Mo contenant 100 Mo de données. Si la valeur 10 est affectée à free_percent , la base de données ne passera pas à 110 Mo, mais conserve sa taille de 108 Mo.For example, if a 108-MB database has 100 MB of data, specifying 10 for free_percent does not expand the database to 110 MB; it remains at 108 MB.

-CkDB | -CkDBNoIdx-CkDB | -CkDBNoIdx
Spécifie qu’une instruction DBCC CHECKDB ou une instruction DBCC CHECKDB avec l’option NOINDEX est exécutée dans la base de données indiquée dans -D.Specifies that a DBCC CHECKDB statement or a DBCC CHECKDB statement with the NOINDEX option be run in the database specified in -D. Pour plus d'informations, consultez DBCC CHECKDB.For more information, see DBCC CHECKDB.

Un avertissement est enregistré dans text_file si la base de données est en cours d’utilisation lorsque sqlmaint est exécuté.A warning is written to text_file if the database is in use when sqlmaint runs.

-CkAl | -CkAlNoIdx-CkAl | -CkAlNoIdx
Spécifie qu’une instruction DBCC CHECKALLOC avec l’option NOINDEX est exécutée dans la base de données indiquée dans -D.Specifies that a DBCC CHECKALLOC statement with the NOINDEX option be run in the database specified in -D. Pour plus d’informations, consultez DBCC CHECKALLOC (Transact-SQL).For more information, see DBCC CHECKALLOC (Transact-SQL).

-CkCat-CkCat
Spécifie qu’une instruction DBCC CHECKCATALOG (Transact-SQL) est exécutée dans la base de données indiquée dans -D.Specifies that a DBCC CHECKCATALOG (Transact-SQL) statement be run in the database specified in -D. Pour plus d’informations, consultez DBCC CHECKCATALOG (Transact-SQL).For more information, see DBCC CHECKCATALOG (Transact-SQL).

-UpdOptiStats sample_percent-UpdOptiStats sample_percent
Spécifie que l'instruction suivante doit être exécutée sur chacune des tables de la base de données :Specifies that the following statement be run on each table in the database:

UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT;  

Si les tables contiennent des colonnes calculées, vous devez également spécifier l’argument -SupportedComputedColumn lorsque vous utilisez -UpdOptiStats.If the tables contain computed columns, you must also specify the -SupportedComputedColumn argument when you use -UpdOptiStats.

Pour plus d’informations, consultez UPDATE STATISTICS (Transact-SQL).For more information, see UPDATE STATISTICS (Transact-SQL).

-RebldIdx free_space-RebldIdx free_space
Spécifie que les index sur les tables de la base de données cible doivent être reconstruits sur base d’un pourcentage free_space inversement proportionnel au facteur de remplissage.Specifies that indexes on tables in the target database should be rebuilt by using the free_space percent value as the inverse of the fill factor. Par exemple, si le pourcentage free_space est égal à 30, le facteur de remplissage utilisé est 70.For example, if free_space percentage is 30, then the fill factor used is 70. Si le pourcentage indiqué dans free_space a comme valeur 100, les index sont reconstruits sur base du facteur de remplissage d’origine.If a free_space percentage value of 100 is specified, then the indexes are rebuilt with the original fill factor value.

Si les index se trouvent sur des colonnes calculées, vous devez également spécifier l’argument -SupportComputedColumn lorsque vous utilisez -RebldIdx.If the indexes are on computed columns, you must also specify the -SupportComputedColumn argument when you use -RebldIdx.

-SupportComputedColumn-SupportComputedColumn
Doit être spécifié pour l’exécution de commandes de maintenance DBCC avec sqlmaint sur des colonnes calculées.Must be specified to run DBCC maintenance commands with sqlmaint on computed columns.

-WriteHistory-WriteHistory
Spécifie que chaque action de maintenance effectuée par sqlmaintfait l’objet d’une entrée dans msdb.dbo.sysdbmaintplan_history.Specifies that an entry be made in msdb.dbo.sysdbmaintplan_history for each maintenance action performed by sqlmaint. Si -PlanName ou -PlanID est spécifié, les entrées de sysdbmaintplan_history utilisent l’ID du plan spécifié.If -PlanName or -PlanID is specified, the entries in sysdbmaintplan_history use the ID of the specified plan. Si -D est spécifié, l’ID du plan est remplacé par des zéros dans les entrées de sysdbmaintplan_history.If -D is specified, the entries in sysdbmaintplan_history are made with zeroes for the plan ID.

-BkUpDB [ backup_path] | -BkUpLog [ backup_path ]-BkUpDB [ backup_path] | -BkUpLog [ backup_path ]
Spécifie une action de sauvegarde.Specifies a backup action. -BkUpDb sauvegarde l’ensemble de la base de données.-BkUpDb backs up the entire database. -BkUpLog sauvegarde uniquement le journal des transactions.-BkUpLog backs up only the transaction log.

backup_path spécifie le répertoire pour la sauvegarde.backup_path specifies the directory for the backup. backup_path n’est pas nécessaire si -UseDefDir est également spécifié et il est remplacé par la valeur de -UseDefDir si toutes deux sont spécifiées.backup_path is not needed if -UseDefDir is also specified, and is overridden by -UseDefDir if both are specified. La sauvegarde peut être placée à une adresse de répertoire ou de périphérique à bande (par exemple, \\.\TAPE0).The backup can be placed in a directory or a tape device address (for example, \\.\TAPE0). Le nom de fichier pour la sauvegarde d'une base de données est créé automatiquement comme suit :The file name for a database backup is generated automatically as follows:

dbname_db_yyyyMMddhhmm.BAK  

where

  • dbname est le nom de la base de données actuellement sauvegardée.dbname is the name of the database being backed up.

  • yyyyMMddhhmm correspond à la date et à l’heure de l’opération de sauvegarde où yyyy = année, MM = mois, dd = jour, hh = jour et mm = minute.yyyyMMddhhmm is the time of the backup operation with yyyy = year, MM = month, dd = day, hh = hour, and mm = minute.

    Le nom de fichier d'une transaction de sauvegarde est automatiquement créé sous la forme suivante :The file name for a transaction backup is generated automatically with a similar format:

dbname_log_yyyymmddhhmm.BAK  

Si vous utilisez le paramètre -BkUpDB , vous devez aussi spécifier le support de sauvegarde à l’aide du paramètre -BkUpMedia .If you use the -BkUpDB parameter, you must also specify the media by using the -BkUpMedia parameter.

-BkUpMedia-BkUpMedia
Précise le type de support utilisé pour la sauvegarde, DISK ou TAPE.Specifies the media type of the backup, either DISK or TAPE.

DISKDISK
Spécifie que le support de sauvegarde est un disque.Specifies that the backup medium is disk.

-DelBkUps< time_period >-DelBkUps< time_period >
Pour les sauvegardes sur disque, spécifie que tout fichier de sauvegarde dans le répertoire de sauvegarde supprimés si l’intervalle de temps après la création de la sauvegarde excède la < time_period>.For disk backups, specifies that any backup file in the backup directory be deleted if the time interval after the creation of the backup exceeds the <time_period>.

-CrBkSubDir-CrBkSubDir
Pour les sauvegardes sur disque, spécifie qu’un sous-répertoire doit être créé dans le répertoire [backup_path] ou dans le répertoire de sauvegarde par défaut si -UseDefDir est également spécifié.For disk backups, specifies that a subdirectory be created in the [backup_path] directory or in the default backup directory if -UseDefDir is also specified. Le nom du sous-répertoire est généré à partir du nom de base de données spécifié dans -D.The name of the subdirectory is generated from the database name specified in -D. -CrBkSubDir offre un moyen aisé de placer toutes les sauvegardes de différentes bases de données dans des sous-répertoires séparés sans devoir modifier le paramètre backup_path .-CrBkSubDir offers an easy way to put all the backups for different databases into separate subdirectories without having to change the backup_path parameter.

-UseDefDir-UseDefDir
Pour les sauvegardes sur disque, spécifie que le fichier de sauvegarde doit être créé dans le répertoire de sauvegarde par défaut.For disk backups, specifies that the backup file be created in the default backup directory. UseDefDir est prioritaire sur backup_path si ces deux paramètres sont spécifiés.UseDefDir overrides backup_path if both are specified. Avec une installation de MicrosoftMicrosoft SQL ServerSQL Server par défaut, le répertoire de sauvegarde par défaut est C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup.With a default MicrosoftMicrosoft SQL ServerSQL Server setup, the default backup directory is C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup.

TAPETAPE
Spécifie que le support de sauvegarde est une bande.Specifies that the backup medium is tape.

-BkUpOnlyIfClean-BkUpOnlyIfClean
Spécifie que la sauvegarde a lieu uniquement si les contrôles -Ck spécifiés n’ont rencontré aucun problème au niveau des données.Specifies that the backup occur only if any specified -Ck checks did not find problems with the data. Les actions de maintenance s'exécutent dans le même ordre que celui dans lequel elles apparaissent dans la ligne de commande.Maintenance actions run in the same sequence as they appear in the command prompt. Spécifiez les paramètres -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAlou -CkCat avant le(s) paramètre(s) -BkUpDB/-BkUpLog si vous allez également spécifier -BkUpOnlyIfCleanou la sauvegarde a lieu, même si la vérification signale des problèmes ou pas.Specify the parameters -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat before the -BkUpDB/-BkUpLog parameter(s) if you are also going to specify -BkUpOnlyIfClean, or the backup occurs whether or not the check reports problems.

-VrfyBackup-VrfyBackup
Spécifie que RESTORE VERIFYONLY est exécuté sur la sauvegarde lorsque celle-ci est terminée.Specifies that RESTORE VERIFYONLY be run on the backup when it completes.

number[minutes| hours| day| weeks| months]number[minutes| hours| day| weeks| months]
Spécifie l'intervalle de temps utilisé pour déterminer si un rapport ou un fichier de sauvegarde est suffisamment ancien pour être supprimé.Specifies the time interval used to determine if a report or backup file is old enough to be deleted. number est un entier suivi (sans espace) d’une unité de temps.number is an integer followed (without a space) by a unit of time. Exemples valides :Valid examples:

  • 12weeks12weeks

  • 3months3months

  • 15days15days

    Si seul le paramètre number est spécifié, la partie de la date sélectionnée par défaut est semaines.If only number is specified, the default date part is weeks.

NotesRemarks

L’utilitaire sqlmaint effectue des opérations de maintenance sur une ou plusieurs bases de données.The sqlmaint utility performs maintenance operations on one or more databases. Si -D est spécifié, les opérations spécifiées par ailleurs portent uniquement sur la base de données indiquée.If -D is specified, the operations specified in the remaining switches are performed only on the specified database. Si -PlanName ou -PlanID est spécifié, la seule information récupérée du plan de maintenance indiqué par sqlmaint est la liste des bases de données contenues dans le plan.If -PlanName or -PlanID are specified, the only information sqlmaint retrieves from the specified maintenance plan is the list of databases in the plan. Toutes les opérations spécifiées dans les autres paramètres de sqlmaint s’appliquent à chaque base de données figurant sur la liste extraite du plan,All operations specified in the remaining sqlmaint parameters are applied against each database in the list obtained from the plan. l’utilitaire sqlmaint n’effectuant aucune opération de maintenance définie dans le plan lui-même.The sqlmaint utility does not apply any of the maintenance activities defined in the plan itself.

L’utilitaire sqlmaint retourne 0 en cas de réussite et 1 en cas d’échec.The sqlmaint utility returns 0 if it runs successfully or 1 if it fails. L'échec de l'exécution est signalé :Failure is reported:

  • Les opérations de maintenance échouent dans les ces suivants :If any of the maintenance actions fail.

  • Si les vérifications -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAlou -CkCat trouvent des problèmes sur les données.If -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat checks find problems with the data.

  • En cas de panne générale.If a general failure is encountered.

AutorisationsPermissions

L’utilitaire sqlmaint peut être exécuté par tout utilisateur Windows disposant de l’autorisation Lecture et exécution sur sqlmaint.exe, qui est stockée par défaut dans le dossier x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER1\MSSQL\Binn .The sqlmaint utility can be executed by any Windows user with Read and Execute permission on sqlmaint.exe, which by default is stored in the x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER1\MSSQL\Binn folder. En outre, la connexion SQL ServerSQL Server spécifiée avec -login_ID doit disposer des autorisations SQL ServerSQL Server requises pour effectuer l’action spécifiée.Additionally, the SQL ServerSQL Server login specified with -login_ID must have the SQL ServerSQL Server permissions required to perform the specified action. Si la connexion à SQL ServerSQL Server utilise l'authentification Windows, le nom d'ouverture de session SQL ServerSQL Server mappé à l'utilisateur Windows authentifié doit disposer des autorisations SQL ServerSQL Server requises pour effectuer l'action spécifiée.If the connection to SQL ServerSQL Server uses Windows Authentication, the SQL ServerSQL Server login mapped to the authenticated Windows user must have the SQL ServerSQL Server permissions required to perform the specified action.

Par exemple, l’utilisation de l’argument -BkUpDB nécessite l’autorisation d’exécution de l’instruction BACKUP.For example, using the -BkUpDB requires permission to execute the BACKUP statement. L’utilisation de l’argument -UpdOptiStats nécessite l’autorisation d’exécution de l’instruction UPDATE STATISTICS.And using the -UpdOptiStats argument requires permission to execute the UPDATE STATISTICS statement. Pour plus d'informations, consultez la section « Autorisations » des rubriques correspondantes de la documentation en ligne.For more information, see the "Permissions" sections of the corresponding topics in Books Online.

ExemplesExamples

A.A. Réalisation de vérifications DBCC sur une base de donnéesPerforming DBCC checks on a database

sqlmaint -S MyServer -D AdventureWorks2012 -CkDB -CkAl -CkCat -Rpt C:\MyReports\AdvWks_chk.rpt  

B.B. Mise à jour des statistiques avec un échantillonnage de 15 % dans toutes les bases de données d'un plan.Updating statistics using a 15% sample in all databases in a plan. Compactage des bases de données ayant atteint 110 Mo de sorte qu'elles aient seulement 10 % d'espace libreAlso, shrink any of the database that have reached 110 MB to having only 10% free space

sqlmaint -S MyServer -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10  

C.C. Sauvegarde de toutes les bases de données d’un plan dans leurs sous-répertoires respectifs du répertoire par défaut x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup.Backing up all the databases in a plan to their individual subdirectories in the default x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup directory. Suppression de toute sauvegarde antérieure à 2 semainesAlso, delete any backups older than 2 weeks

sqlmaint -S MyServer -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks  

D.D. Sauvegarde d’une base de données dans le répertoire par défaut x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup.Backing up a database to the default x:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup directory.\

sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir  

Voir aussiSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)UPDATE STATISTICS (Transact-SQL)