sqlmaint Utility
Thesqlmaint utility performs a specified set of maintenance operations on one or more databases.Użycie SQLMAINT do uruchomienia sprawdzania DBCC, tworzyć kopię zapasową bazy danych i jej dziennik transakcji aktualizacja statystyki oraz indeksów.All database maintenance activities generate a report that can be sent to a designated text file, HTML file, or e-mail account.sqlmaint executes database maintenance plans created with previous versions of SQL Server.Aby uruchomić SQL Server plany konserwacji wiersz polecenia, za pomocą Narzędzie dtexec narzędzie.
Important Note: |
---|
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. Użycie SQL Server Konserwacja planu zamiast funkcji. Aby uzyskać więcej informacji na temat planów konserwacji zobacz Plany konserwacji. |
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]
Argumenty
Parametry i ich wartości muszą być oddzielone spacjami.Na przykład może być umieszczona spacja między -S and server_name.
-?
Określa, że składnia diagramu dla SQLMAINT zwracane.Tego parametru należy używać osobno.-Sserver_name[ **\instance_name]
Specifies the target instance of Microsoft SQL Server.Określ server_name Aby połączyć się z domyślnym wystąpienie SQL Server Database Engine na tym serwerze. Określ server_name\**instance_name do łączenia się z nazwanego wystąpienie programu Database Engine na tym serwerze. Jeśli serwer nie zostanie określona, SQLMAINT łączy się z domyślnym wystąpienie Database Engine na komputerze lokalnym.-Ulogin_ID
Określa identyfikator logowania do użycia podczas połączenia z serwerem.Jeżeli nie jest podany, SQLMAINT próbuje użyć Microsoft Uwierzytelnianie systemu Windows. Jeśli login_IDzawiera znaki specjalne, musi być ujęty w znaki podwójnego cudzysłowu (""); w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.Security Note: Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.
-Ppassword
Określa hasło dla identyfikator logowania.Prawidłowy tylko wtedy, gdy -U parametr jest również dostarczany.Jeśli password zawiera znaki specjalne, musi być ujęty w podwójny cudzysłów; w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.Security Note: Hasło nie jest ukryte.Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.
-Ddatabase_name
Określa nazwę bazy danych, w którym należy wykonać operację konserwacji.Jeśli database_name zawiera znaki specjalne, musi być ujęty w podwójny cudzysłów; w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.-PlanNamename
Określa nazwę planu konserwacji bazy danych, zdefiniowanej za pomocą Kreatora bazy danych.Jedyne informacje SQLMAINT korzysta z planu jest to lista baz danych w planie.Można określić w innych działań obsługi technicznej SQLMAINT parametry są stosowane do tej listy baz danych.-PlanIDguid
Określa unikatowy identyfikator globalny (GUID), zdefiniowanej za pomocą Kreatora baz danych planu konserwacji bazy danych.Jedyne informacje SQLMAINT korzysta z planu jest to lista baz danych w planie.Można określić w innych działań obsługi technicznej SQLMAINT parametry są stosowane do tej listy baz danych.To musi odpowiadać wartości plan_id msdb.dbo.sysdbmaintplans.-Rpttext_file
Określa pełną ścieżka i nazwę pliku, do którego ma być generowany raport.Raport jest generowany również na ekranie.W raporcie przechowuje informacje o wersja przez dodanie data do nazwy pliku.Data jest generowana w następujący sposób: na końcu nazwy pliku, ale przed okresem w postaci _ yyyyMMddhhmm. yyyy = rok, MM = miesiąc, dd = dzień, hh = godz., mm = min.If you run the utility at 10:23 A.M.on December 1, 1996, and this is the text_file value:
c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks_maint.rpt
Nazwa wygenerowany plik to:
c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks_maint_199612011023.rpt
Pełna nazwa pliku (Universal konwencja nazewnictwa) jest wymagany dla text_file Kiedy SQLMAINT uzyskuje dostęp do serwera zdalnego.
-To operator_name
Określa operator, do którego wygenerowany raport jest wysyłany za pośrednictwem poczty SQL.-HtmlRpthtml_file
Specifies the full path and name of the file into which an HTML report is to be generated.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.Pełna nazwa pliku UNC jest wymagana do html_file Kiedy SQLMAINT uzyskuje dostęp do serwera zdalnego.
-DelHtmlRpt <time_period>
Określa, że każdy raport w formacie HTML w katalogu raport być usunięte, jeśli przedział czas, po utworzeniu pliku raportu <time_period>. -DelHtmlRpt szuka plików, których nazwa pasuje do wzorca, generowane na podstawie html_file parametr. Jeśli html_file następnie jest c:\Program Files\Microsoft SQL Server\Mssql\kopia zapasowa\AdventureWorks_maint.htm, -DelHtmlRpt causes SQLMAINT , aby usunąć wszystkie pliki, których nazwy odpowiadają wzorzec C:\Program Files\Microsoft SQL Server\Mssql\kopia zapasowa\AdventureWorks_maint*.htm i które są starsze niż określona <time_period>.-RmUnusedSpacethreshold_percent free_percent
Określa, że niewykorzystany obszar ma być usunięty z bazy danych określonego w -D.This option is only useful for databases that are defined to grow automatically.Threshold_percent specifies in megabytes the size that the database must reach before sqlmaint attempts to remove unused data space.If the database is smaller than the threshold_percent, no action is taken.Free_percent specifies how much unused space must remain in the database, specified as a percentage of the final size of the database.Na przykład jeśli baza danych 200 MB zawiera 100 MB danych, określając 10 dla free_percent wyniki w rozmiar końcowy bazy danych, przy czym 110 MB. Należy zauważyć, że baza danych nie jest rozwinięta, jeżeli jest mniejszy niż free_percent plus ilość danych w bazie danych. Na przykład jeśli baza danych 108 MB ma 100 MB danych, określając 10 dla free_percent nie rozwiń bazę danych do 110 MB; pozostanie ono na 108 MB.-CkDB | -CkDBNoIdx
Określa, że instrukcja CHECKDB DBCC lub instrukcji CHECKDB DBCC z opcją NOINDEX się w bazie danych określonych w -D.Aby uzyskać więcej informacji zobacz temat CHECKDB DBCC.Zapisywany jest komunikat ostrzegawczy text_file Jeśli baza danych jest używana w czasie SQLMAINT jest uruchamiany.
-CkAl | -CkAlNoIdx
Określa, że instrukcja DBCC CHECKALLOC z opcją NOINDEX się w określonych w bazie danych -D.Aby uzyskać więcej informacji zobaczDBCC CHECKALLOC (Transact-SQL).-CkCat
Określa, uruchomienie bazy danych określona w instrukcja CHECKCATALOG DBCC (języka Transact-SQL) -D.Aby uzyskać więcej informacji zobaczDBCC CHECKCATALOG (języka Transact-SQL).-UpdOptiStatssample_percent
Określa, że w każdej tabela w bazie danych można w następującej instrukcja:UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT
Jeśli tabele zawierają kolumny obliczane, należy także określić -SupportedComputedColumn argument, korzystając z -UpdOptiStats.
Aby uzyskać więcej informacji zobaczUPDATE STATISTICS (Transact-SQL).
-RebldIdxfree_space
Określa, że indeksów w tabeli w miejsce docelowe bazie danych powinny być przebudowany przy użyciu free_space wartość procentową jako odwrotność współczynnik wypełnienia. Na przykład jeśli free_space wartość procentowa wynosi 30, a następnie współczynnik wypełnienia, używany jest 70. Jeśli free_space określono wartość procentową wartość 100, a następnie indeksy są skonstruowana ponownie oryginalną wartość współczynnik wypełnienia.Jeśli na kolumny obliczane są indeksy, należy także określić -SupportComputedColumn argument, korzystając z -RebldIdx.
-SupportComputedColumn
Należy określić wywoływania poleceń konserwacji DBCC z SQLMAINT na kolumny obliczane.-WriteHistory
Określa, że zamieszczane w msdb.dbo.sysdbmaintplan_history dla każdej operacji konserwacji wykonywane przez SQLMAINT.Jeśli -PlanName or -PlanID jest określony, pozycje w sysdbmaintplan_history identyfikator określonego planu.Jeśli -D jest określony, pozycje dostępne na sysdbmaintplan_history są dokonywane z uwzględnieniem wartości zerowe identyfikator planu.-BkUpDB [ backup_path] | -BkUpLog [ backup_path ]
Określa akcja kopia zapasowa.-BkUpDb wykonuje kopię zapasową całej bazy danych.-BkUpLog wykonuje kopię zapasową tylko dziennik transakcji.backup_path specifies the directory for the backup.backup_path is not needed if -UseDefDir is also specified, and is overridden by -UseDefDir if both are specified.kopia zapasowa mogą być umieszczone w katalogu lub na taśmie adres urządzenia (na przykład \\.\TAPE0).Nazwę pliku kopia zapasowa bazy danych jest generowany automatycznie w następujący sposób:
dbname_db_yyyyMMddhhmm.BAK
gdzie
dbname Nazwa bazy danych, przy czym kopii zapasowej.
yyyyMMddhhmm jest to czas operacji tworzenia kopia zapasowa z yyyy = rok, MM = miesiąc, dd = dzień, hh = godzin, a mm = min.
Nazwę pliku kopia zapasowa transakcji jest generowany automatycznie przy użyciu formatu innego podobnego:
dbname_log_yyyymmddhhmm.BAK
Jeśli używasz -BkUpDB parametr, należy także określić nośnika przy użyciu -BkUpMedia parametr.
-BkUpMedia
Określa typ nośnika kopia zapasowa dysku lub TAPE.DYSK
Określa, że kopia zapasowa nośnik jest dysk.-DelBkUps< time_period >
Dysk kopii zapasowych, określa, że każdy plik kopia zapasowa w katalogu kopii zapasowych mają być usunięte przedział czas, po utworzeniu kopia zapasowa przekracza <time_period>.-CrBkSubDir
Kopii zapasowych dysku Określa, że podkatalog jest tworzony w [backup_path] katalogu lub w domyślnym katalogu kopia zapasowa, jeśli -UseDefDir podano także. Nazwa podkatalogu jest generowany na podstawie nazwy bazy danych określonej w -D.-CrBkSubDir oferuje łatwe do wszystkich kopii zapasowych dla różnych baz danych w oddzielnych podkatalogów bez konieczności zmiany backup_path parametr.-UseDefDir
Kopie zapasowe dysków określa utworzenia plik kopia zapasowa w domyślnym katalogu kopia zapasowa.UseDefDir zastępuje backup_path Jeśli określone są oba. With a default Microsoft SQL Server setup, the default backup directory is C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup.TAŚMY
Określa, że nośnik kopii zapasowych taśmy.-BkUpOnlyIfClean
Określa, że kopia zapasowa występować tylko wtedy, gdy dowolny określony -T kontroli nie znalazł problemy z danymi.W tej samej sekwencji uruchamiane akcje konserwacji, znajdujące się w wiersz polecenia.Określ parametry -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat przed -BkUpDB/-BkUpLog Parametry, jeśli będą także określić -BkUpOnlyIfClean, lub wykonywania kopia zapasowa występuje niezależnie od tego, czy sprawdzanie raportuje problemy.-VrfyBackup
Określa, że VERIFYONLY przywracanie może być uruchamiany w kopia zapasowa, po zakończeniu.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 is an integer followed (without a space) by a unit of time.Przykłady prawidłowych:12weeks
3months
15days
Jeśli tylko number jest określony, domyślnie część data jest tygodni.
Remarks
The sqlmaint utility performs maintenance operations on one or more databases.Jeśli -D zostanie określona, wykonywane są operacje określone w pozostałych przełączników tylko dla określonej bazy danych.Jeśli -PlanName or -PlanID są określone, tylko informacji SQLMAINT pobiera z planu konserwacji określona jest lista baz danych w planie.Wszystkie operacje określone w pozostałych SQLMAINT parametrów są stosowane do każdej bazy danych na liście z planu.The sqlmaint utility does not apply any of the maintenance activities defined in the plan itself.
The sqlmaint utility returns 0 if it runs successfully or 1 if it fails.Zgłaszany jest błąd:
Jeśli nie wszystkie akcje konserwacji.
Jeśli -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat kontroli znalazł problemów z danymi.
Jeśli wystąpi błąd ogólny.
Uprawnienia
The sqlmaint utility can be executed by any Windows user with Read and wykonać permission on sqlmaint.exe, which by default is stored in the x:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER1\MSSQL\Binn folder. Ponadto SQL Server określić przy użyciu identyfikatora logowania -login_ID musi mieć SQL Server uprawnienia wymagane do wykonania określonej akcja. Jeśli połączenie z SQL Server korzysta z uwierzytelnianie systemu Windows, SQL Server Identyfikator logowania mapowane do uwierzytelnionego użytkownika systemu Windows musi mieć SQL Server uprawnienia wymagane do wykonania określonej akcja.
Na przykład przy użyciu -BkUpDB wymaga uprawnienia do wykonać instrukcja kopia zapasowa.I za pomocą -UpdOptiStats argumentu wymaga uprawnienia do wykonać instrukcja aktualizacja statystyki.Aby uzyskać więcej informacji zobacz sekcje "" uprawnienia"odpowiednich tematów w dokumentacji Books Online.
Przykłady
A.Wykonywanie DBCC sprawdza w bazie danych AdventureWorks
sqlmaint -S MyServer -D AdventureWorks -CkDB -CkAl -CkCat -Rpt C:\MyReports\AdvWks_chk.rpt
B.Aktualizowanie danych statystycznych przy użyciu próbki 15 % w przypadku wszystkich baz danych w planie.Ponadto Zwiń dowolne z bazy danych, które osiągnęły 110 MB na potrzeby tylko 10 % wolnego miejsca
sqlmaint -S MyServer -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10
C.Wykonywanie kopii zapasowych wszystkich baz danych w planie na ich indywidualnych podkatalogów w katalogu domyślnym x:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\kopia zapasowa.Ponadto usunąć wszystkie kopie zapasowe starsze niż 2 tygodnie
sqlmaint -S MyServer -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks
D.Tworzenie kopia zapasowa bazy danych AdventureWorks do domyślnego katalogu Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\kopia zapasowa x:\Program.\
sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir