sqlmaint ユーティリティsqlmaint Utility

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

sqlmaint ユーティリティは、1 つまたは複数のデータベース上で、指定された一連のメンテナンス操作を実行します。Thesqlmaint utility performs a specified set of maintenance operations on one or more databases. sqlmaint を使用して、DBCC チェックの実行、データベースとデータベース トランザクション ログのバックアップ、統計の更新、およびインデックスの再構築を行います。Use sqlmaint to run DBCC checks, back up a database and its transaction log, update statistics, and rebuild indexes. すべてのデータベース メンテナンス操作では、指定されたテキスト ファイル、HTML ファイル、または電子メール アカウントに送信できるレポートが生成されます。All database maintenance activities generate a report that can be sent to a designated text file, HTML file, or e-mail account. sqlmaint は、以前のバージョンの SQL ServerSQL Serverで作成されたデータベース メンテナンス プランを実行します。sqlmaint executes database maintenance plans created with previous versions of SQL ServerSQL Server. コマンド プロンプトから SQL ServerSQL Server メンテナンス プランを実行するには、 dtexecユーティリティを使用します。To run SQL ServerSQL Server maintenance plans from the command prompt, use the dtexec Utility.

重要

この機能は、Microsoft SQL Server の次のバージョンで削除されます。This feature will be removed in the next version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。Avoid using this feature in new development work, and plan to modify applications that currently use this feature. 代わりに、 SQL ServerSQL Server メンテナンス プラン機能を使用してください。Use SQL ServerSQL Server maintenance plan feature instead. メンテナンス プランの詳細については、「 メンテナンス プラン」を参照してください。For more information on maintenance plans, see Maintenance Plans.

構文Syntax

  
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]  

引数Arguments

パラメーターとその値は、空白で区切る必要があります。The parameters and their values must be separated by a space. たとえば、 -Sserver_nameの間には空白が必要です。For example, there must be a space between -S and server_name.

-?-?
sqlmaint の構文ダイアグラムが返されます。Specifies that the syntax diagram for sqlmaint be returned. このパラメーターは単独で使用する必要があります。This parameter must be used alone.

-S server_name[ \ instance_name]-S server_name[ \instance_name]
対象となる MicrosoftMicrosoft SQL ServerSQL Serverのインスタンスを指定します。Specifies the target instance of MicrosoftMicrosoft SQL ServerSQL Server. サーバー上の SQL Server データベース エンジンSQL Server Database Engineの既定のインスタンスに接続するには、server_name を指定します。Specify server_name to connect to the default instance of SQL Server データベース エンジンSQL Server Database Engine on that server. サーバー上の データベース エンジンDatabase Engine の名前付きインスタンスに接続するには、server_name \ instance_name を指定します。Specify server_name\instance_name to connect to a named instance of データベース エンジンDatabase Engine on that server. サーバーを指定しない場合、 sqlmaint は、ローカル コンピューター上にある データベース エンジンDatabase Engine の既定のインスタンスに接続します。If no server is specified, sqlmaint connects to the default instance of データベース エンジンDatabase Engine on the local computer.

-U login_ID-U login_ID
サーバーに接続するときに使用するログイン ID を指定します。Specifies the login ID to use when connecting to the server. 指定しない場合、 sqlmaintMicrosoftMicrosoft Windows 認証の使用を試みます。If not supplied, sqlmaint attempts to use MicrosoftMicrosoft Windows Authentication. login_ID に特殊文字が含まれる場合、特殊文字を二重引用符 (") で囲む必要があります。特殊文字が含まれない場合は、二重引用符は省略可能です。If login_ID contains special characters, it must be enclosed in double quotation marks ("); otherwise, the double quotation marks are optional.

重要

可能な場合は、Windows 認証を使用します。When possible, use Windows Authentication.

-P password-P password
ログイン ID のパスワードを指定します。Specifies the password for the login ID. -U パラメーターも指定されている場合にのみ有効です。Only valid if the -U parameter is also supplied. password に特殊文字が含まれる場合、特殊文字を二重引用符で囲む必要があります。特殊文字が含まれない場合は、二重引用符は省略可能です。If password contains special characters, it must be enclosed in double quotation marks; otherwise, the double quotation marks are optional.

重要

パスワードはマスクされません。The password is not masked. 可能な場合は、Windows 認証を使用します。When possible, use Windows Authentication.

-D database_name-D database_name
メンテナンス操作の実行対象となるデータベースの名前を指定します。Specifies the name of the database in which to perform the maintenance operation. database_name に特殊文字が含まれる場合、特殊文字を二重引用符で囲む必要があります。特殊文字が含まれない場合は、二重引用符は省略可能です。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
データベース メンテナンス プラン ウィザードを使用して定義される、データベース メンテナンス プランの名前を指定します。Specifies the name of a database maintenance plan defined using the Database Maintenance Plan Wizard. sqlmaint が使用するプランの情報は、プラン内のデータベースのリストのみです。The only information sqlmaint uses from the plan is the list of the databases in the plan. 他の sqlmaint パラメーターに指定するすべてのメンテナンス操作は、このデータベースのリストに適用されます。Any maintenance activities you specify in the other sqlmaint parameters are applied to this list of databases.

-PlanID guid-PlanID guid
データベース メンテナンス プラン ウィザードを使用して定義される、データベース メンテナンス プランのグローバル一意識別子 (GUID) を指定します。Specifies the globally unique identifier (GUID) of a database maintenance plan defined using the Database Maintenance Plan Wizard. sqlmaint が使用するプランの情報は、プラン内のデータベースのリストのみです。The only information sqlmaint uses from the plan is the list of the databases in the plan. 他の sqlmaint パラメーターに指定するすべてのメンテナンス操作は、このデータベースのリストに適用されます。Any maintenance activities you specify in the other sqlmaint parameters are applied to this list of databases. このパラメーターの値は、msdb.dbo.sysdbmaintplans の plan_id 値に一致する必要があります。This must match a plan_id value in msdb.dbo.sysdbmaintplans.

-Rpt text_file-Rpt text_file
レポートの生成先となるファイルの完全なパスとファイル名を指定します。Specifies the full path and name of the file into which the report is to be generated. レポートは画面上にも表示されます。The report is also generated on the screen. レポートによってファイル名に日時が追加され、バージョン情報が維持されます。The report maintains version information by adding a date to the file name. 日時は、_yyyyMMddhhmmの形式で、ファイル名の最後 (ピリオドの前) に追加されます。The date is generated as follows: at the end of the file name but before the period, in the form _yyyyMMddhhmm. yyyy = 年、 MM = 月、 dd = 日、 hh = 時間、 mm = 分。yyyy = year, MM = month, dd = day, hh = hour, mm = minute.

1996 年 12 月 1 日午前 10:23 にIf you run the utility at 10:23 A.M. ユーティリティを実行し、 text_file 値が次のようになるとします。on December 1, 1996, and this is the text_file value:

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

生成されるファイル名は、次のようになります。The generated file name is:

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

sqlmaint がリモート サーバーにアクセスする場合、 text_file には、完全な汎用名前付け規則 (UNC) のファイル名を指定する必要があります。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
生成されたレポートが SQL Mail を使用して送信される場合の、送信先となるオペレーターを指定します。Specifies the operator to whom the generated report is sent through SQL Mail.

-HtmlRpt html_file-HtmlRpt html_file
HTML レポートの生成先となるファイルの完全パスとファイル名を指定します。Specifies the full path and name of the file into which an HTML report is to be generated. sqlmaint は、 -Rpt パラメーターの場合と同じように、ファイル名に _ yyyyMMddhhmm 形式の文字列を追加してファイル名を生成します。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.

sqlmaint がリモート サーバーにアクセスする場合、 html_file には、完全な UNC ファイル名を指定する必要があります。The full UNC file name is required for html_file when sqlmaint accesses a remote server.

-DelHtmlRpt <time_period>-DelHtmlRpt <time_period>
レポート ファイル作成後の期間が <time_period> を超える場合、レポート ディレクトリ内にあるすべての HTML レポートを削除します。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 は、html_file パラメーターを基に生成されたパターンに適合する名前を持つファイルを検索します。-DelHtmlRpt looks for files whose name fits the pattern generated from the html_file parameter. html_file が C:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint.htm の場合、 -DelHtmlRpt によって sqlmaint は、C:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2012_maint*.htm というパターンに一致する名前を持つファイルを検索し、指定された <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
-Dに指定されたデータベースから使用されていない領域を削除します。Specifies that unused space be removed from the database specified in -D. このオプションは、自動拡張が定義されているデータベースに対してのみ使用できます。This option is only useful for databases that are defined to grow automatically. Threshold_percent は、 sqlmaint が使用されていないデータ領域を削除する基準となるデータベースのサイズを MB 単位で指定します。Threshold_percent specifies in megabytes the size that the database must reach before sqlmaint attempts to remove unused data space. データベースが threshold_percentより小さい場合、何も行われません。If the database is smaller than the threshold_percent, no action is taken. Free_percent は、データベースに残す必要がある使用されていない領域の量を、データベースの最終的なサイズに対する割合として指定します。Free_percent specifies how much unused space must remain in the database, specified as a percentage of the final size of the database. たとえば、200 MB のデータベースに 100 MB のデータを取り込む場合、 free_percent に 10 を指定すると、最終的なデータベース サイズは 110 MB になります。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. データベースが free_percent とデータベースのデータ量の合計より小さい場合、データベースは拡張されないことにご注意ください。Note that a database is not expanded if it is smaller than free_percent plus the amount of data in the database. たとえば、108 MB のデータベースが 100 MB のデータを持つ場合、 free_percent に 10 を指定してもデータベースは 110 MB に拡張されず、108 MB のままです。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
-Dに指定されたデータベースで、DBCC CHECKDB ステートメント、または NOINDEX オプションを含んだ DBCC CHECKDB ステートメントを実行します。Specifies that a DBCC CHECKDB statement or a DBCC CHECKDB statement with the NOINDEX option be run in the database specified in -D. 詳細については、「DBCC CHECKDB」を参照してください。For more information, see DBCC CHECKDB.

sqlmaint を実行するときにデータベースが使用中の場合、 text_file に警告が書き込まれます。A warning is written to text_file if the database is in use when sqlmaint runs.

-CkAl | -CkAlNoIdx-CkAl | -CkAlNoIdx
-D に指定されたデータベースで、NOINDEX オプションを含んだ DBCC CHECKALLOC ステートメントを実行します。Specifies that a DBCC CHECKALLOC statement with the NOINDEX option be run in the database specified in -D. 詳細については、「DBCC CHECKALLOC (Transact-SQL)」を参照してください。For more information, see DBCC CHECKALLOC (Transact-SQL).

-CkCat-CkCat
-D に指定されたデータベースで、DBCC CHECKCATALOG (Transact-SQL) ステートメントを実行します。Specifies that a DBCC CHECKCATALOG (Transact-SQL) statement be run in the database specified in -D. 詳細については、「DBCC CHECKCATALOG (Transact-SQL)」を参照してください。For more information, see DBCC CHECKCATALOG (Transact-SQL).

-UpdOptiStats sample_percent-UpdOptiStats sample_percent
データベースの各テーブルで、次のステートメントを実行します。Specifies that the following statement be run on each table in the database:

UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT;  

テーブルが計算列を含む場合、 -UpdOptiStats を使用するときに -SupportedComputedColumn引数も指定する必要があります。If the tables contain computed columns, you must also specify the -SupportedComputedColumn argument when you use -UpdOptiStats.

詳細については、「 UPDATE STATISTICS (Transact-SQL)で作成されたデータベース メンテナンス プランを実行します。For more information, see UPDATE STATISTICS (Transact-SQL).

-RebldIdx free_space-RebldIdx free_space
FILL FACTOR とは逆の関係になる値として free_space の割合の値を使用し、対象データベースのテーブルのインデックスを再構築します。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. たとえば、 free_space の割合が 30 の場合、使用される FILL FACTOR は 70 になります。For example, if free_space percentage is 30, then the fill factor used is 70. free_space の割合の値に 100 が指定された場合は、最初の FILL FACTOR 値を使用してインデックスが再構築されます。If a free_space percentage value of 100 is specified, then the indexes are rebuilt with the original fill factor value.

インデックスが計算列にある場合、 -RebldIdx を使用するときに -SupportComputedColumn引数も指定する必要があります。If the indexes are on computed columns, you must also specify the -SupportComputedColumn argument when you use -RebldIdx.

-RebldIdx-SupportComputedColumn
計算列に対して sqlmaint の DBCC メンテナンス コマンドを実行する場合は、必ず指定します。Must be specified to run DBCC maintenance commands with sqlmaint on computed columns.

-WriteHistory-WriteHistory
sqlmaintによって実行される各メンテナンス操作に対して、msdb.dbo.sysdbmaintplan_history にエントリを作成します。Specifies that an entry be made in msdb.dbo.sysdbmaintplan_history for each maintenance action performed by sqlmaint. -PlanName または -PlanID が指定された場合、sysdbmaintplan_history のエントリには指定されたプランの ID が使用されます。If -PlanName or -PlanID is specified, the entries in sysdbmaintplan_history use the ID of the specified plan. -D が指定された場合、sysdbmaintplan_history のエントリはプラン ID にゼロ値を使用して作成されます。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 ]
バックアップ操作を指定します。Specifies a backup action. -BkUpDb はデータベース全体をバックアップします。-BkUpDb backs up the entire database. -BkUpLog はトランザクション ログのみをバックアップします。-BkUpLog backs up only the transaction log.

backup_path には、バックアップを格納するディレクトリを指定します。backup_path specifies the directory for the backup. backup_path は、 -UseDefDir も指定されている場合は必要ありません。ただし両方が指定されている場合は、 -UseDefDir によってオーバーライドされます。backup_path is not needed if -UseDefDir is also specified, and is overridden by -UseDefDir if both are specified. バックアップは、ディレクトリまたはテープ デバイス アドレス ( \\.\TAPE0 など) に格納することができます。The backup can be placed in a directory or a tape device address (for example, \\.\TAPE0). データベース バックアップのファイル名は、次のように自動的に生成されます。The file name for a database backup is generated automatically as follows:

dbname_db_yyyyMMddhhmm.BAK  
  

パラメーターの説明where

  • dbname はバックアップするデータベースの名前です。dbname is the name of the database being backed up.

  • yyyyMMddhhmm はバックアップ操作の日時です ( yyyy = 年、 MM = 月、 dd = 日、 hh = 時間、 mm = 分)。yyyyMMddhhmm is the time of the backup operation with yyyy = year, MM = month, dd = day, hh = hour, and mm = minute.

トランザクション バックアップ用のファイル名は、次のように同じ形式を使用して自動的に生成されます。The file name for a transaction backup is generated automatically with a similar format:

dbname_log_yyyymmddhhmm.BAK  
  

-BkUpDB パラメーターを使用する場合は、 -BkUpMedia パラメーターを使用してメディアを指定する必要があります。If you use the -BkUpDB parameter, you must also specify the media by using the -BkUpMedia parameter.

-BkUpMedia-BkUpMedia
バックアップのメディアの種類 (DISK または TAPE) を指定します。Specifies the media type of the backup, either DISK or TAPE.

DISKDISK
バックアップ メディアがディスクであることを指定します。Specifies that the backup medium is disk.

-DelBkUps< time_period >-DelBkUps< time_period >
ディスク バックアップの場合で、バックアップ作成後の期間が <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
ディスク バックアップの場合で、[backup_path] ディレクトリ内、または -UseDefDir が指定されている場合は、既定のバックアップ ディレクトリ内にサブディレクトリを作成します。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. サブディレクトリの名前は、 -Dに指定されるデータベース名を基に生成されます。The name of the subdirectory is generated from the database name specified in -D. -CrBkSubDir を使用すると、 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
ディスク バックアップの場合、既定のバックアップ ディレクトリにバックアップ ファイルを作成します。For disk backups, specifies that the backup file be created in the default backup directory. UseDefDir は、backup_path をオーバーライドします (両方が指定されている場合)。UseDefDir overrides backup_path if both are specified. 既定の MicrosoftMicrosoft SQL ServerSQL Server セットアップでは、既定のバックアップ ディレクトリは 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
バックアップ メディアがテープであることを指定します。Specifies that the backup medium is tape.

-BkUpOnlyIfClean-BkUpOnlyIfClean
指定されたすべての -Ck チェックでデータに問題が検出されなかった場合のみ、バックアップを行います。Specifies that the backup occur only if any specified -Ck checks did not find problems with the data. メンテナンス操作は、コマンド プロンプトでの指定と同じ順序で実行されます。Maintenance actions run in the same sequence as they appear in the command prompt. -BkUpOnlyIfCleanを指定する場合、またはチェックで問題がレポートされるかどうかに関係なくバックアップが発生する場合は、 -BkUpDB-BkUpLog パラメーターの前に-CkDB -CkDBNoIdx -CkAl -CkAlNoIdx / -CkTxtAl 、または -CkCatのパラメーターを指定します。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
バックアップの完了時、バックアップに対して RESTORE VERIFYONLY を実行します。Specifies that RESTORE VERIFYONLY be run on the backup when it completes.

number[minutes| hours| day| weeks| months]number[minutes| hours| day| weeks| months]
レポートまたはバックアップ ファイルを削除する時期であるかどうかを判断するための期間を指定します。Specifies the time interval used to determine if a report or backup file is old enough to be deleted. number は整数値で、続けてスペースを含めずに時間単位を指定します。number is an integer followed (without a space) by a unit of time. 次は有効な例です。Valid examples:

  • 12weeks12weeks

  • 3months3months

  • 15days15days

number だけを指定する場合、既定では、 weeksと見なされます。If only number is specified, the default date part is weeks.

RemarksRemarks

sqlmaint ユーティリティは、1 つまたは複数のデータベースでメンテナンス操作を実行します。The sqlmaint utility performs maintenance operations on one or more databases. -D を指定する場合、残りのスイッチで指定する操作は指定したデータベースでのみ実行されます。If -D is specified, the operations specified in the remaining switches are performed only on the specified database. -PlanName または -PlanID が指定された場合、指定されたメンテナンス プランから sqlmaint が取得する情報は、プラン内のデータベースのリストのみです。If -PlanName or -PlanID are specified, the only information sqlmaint retrieves from the specified maintenance plan is the list of databases in the plan. その他の sqlmaint パラメーターに指定されるすべての操作は、プランから取得されたリスト内の各データベースに対して適用されます。All operations specified in the remaining sqlmaint parameters are applied against each database in the list obtained from the plan. sqlmaint ユーティリティでは、プラン自体に定義されているメンテナンス操作は適用されません。The sqlmaint utility does not apply any of the maintenance activities defined in the plan itself.

sqlmaint ユーティリティは、実行が成功した場合には 0 を、実行が失敗した場合には 1 を返します。The sqlmaint utility returns 0 if it runs successfully or 1 if it fails. 失敗は次の場合にレポートされます。Failure is reported:

  • メンテナンス作業のすべてが失敗した場合。If any of the maintenance actions fail.

  • -CkDB-CkDBNoIdx-CkAl-CkAlNoIdx-CkTxtAl、または -CkCat のチェックでデータの問題が検出された場合。If -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat checks find problems with the data.

  • 一般エラーが発生した場合。If a general failure is encountered.

アクセス許可Permissions

に対して 読み取りおよび実行 権限のある Windows ユーザーが、 sqlmaint sqlmaint.exeユーティリティを実行できます。このファイルは、既定では 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. さらに、 SQL ServerSQL Server -login_ID で指定される ログインは、指定の操作を実行するのに必要な SQL ServerSQL Server の権限を持っている必要があります。Additionally, the SQL ServerSQL Server login specified with -login_ID must have the SQL ServerSQL Server permissions required to perform the specified action. SQL ServerSQL Server への接続で Windows 認証を使用する場合、認証される Windows ユーザーにマップされている SQL ServerSQL Server ログインが指定の操作を実行するには、 SQL ServerSQL Server の権限が必要です。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.

たとえば、 -BkUpDB を使用するには、BACKUP ステートメントを実行するための権限が必要です。For example, using the -BkUpDB requires permission to execute the BACKUP statement. また、 -UpdOptiStats 引数を使用するには、UPDATE STATISTICS ステートメントを実行するための権限が必要です。And using the -UpdOptiStats argument requires permission to execute the UPDATE STATISTICS statement. 詳細については、オンライン ブックの該当トピックで「権限」を参照してください。For more information, see the "Permissions" sections of the corresponding topics in Books Online.

使用例Examples

A.A. データベースで DBCC チェックを実行するPerforming DBCC checks on a database

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

B.B. プラン内にあるすべてのデータベースから 15% のサンプルを使用して統計を更新し、Updating statistics using a 15% sample in all databases in a plan. 110 MB に達したすべてのデータベースを圧縮して、10% の未使用領域を確保するAlso, 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. 既定の 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. 2 週間を経過したバックアップはすべて削除するAlso, delete any backups older than 2 weeks

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

D.D. 既定の 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.</span>

sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir  

参照See Also

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