Narzędzie Sqlmaint
Thesqlmaint utility performs a specified set of maintenance operations on one or more databases.Użyj sqlmaint do uruchomienia sprawdzania DBCC tworzyć kopię zapasową bazy danych i dziennika aktualizacja statystyki oraz indeksów transakcji.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.
Ważne: |
---|
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użyj SQL Server zamiast funkcji plan konserwacji.Aby uzyskać więcej informacji na temat planów konserwacji, zobacz Plany konserwacji. |
Składnia
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 spacją.Na przykład, musi istnieć odstęp między -S i server_name.
-?
Określa, że składnia diagramu dla sqlmaint zwrócone.Ten parametr musi być użyty samodzielnie.-Sserver_name[ **\instance_name]
Specifies the target instance of Microsoft SQL Server.Określ server_name do łączenia się z wystąpienie domyślne Aparat baz danych programu SQL Server na tym serwerze.Określ server_name\**instance_name się z wystąpienie nazwane z Aparat baz danych na tym serwerze.Jeśli serwer nie jest określony, sqlmaint łączy się z wystąpienie domyślne Aparat baz danych na komputerze lokalnym.-Ulogin_ID
Określa identyfikator logowania podczas łączenia z serwerem.Jeśli nie, sqlmaint próbuje użyć Microsoft uwierzytelniania systemu Windows.Jeśli login_ID zawiera znaki specjalne, muszą być ujęte w podwójny cudzysłów ("); w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.Uwaga dotycząca zabezpieczeń Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.
-Ppassword
Określa hasło dla identyfikator logowania.Jeśli jedyną prawidłową - U również jest podany parametr.Jeśli password zawiera znaki specjalne, muszą być ujęte w podwójny cudzysłów; w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.Uwaga dotycząca zabezpieczeń Hasło nie jest maskowany.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, muszą być ujęte w podwójny cudzysłów; w przeciwnym wypadku znaki podwójnego cudzysłowu są opcjonalne.-PlanNamename
Określa nazwę planu konserwacji bazy danych zdefiniowanych przy użyciu Kreatora planu konserwacji bazy danych.Jedyne informacje sqlmaint korzysta z planu jest lista baz danych w planie.Wszelkie czynności konserwacji określić w innych sqlmaint parametry są stosowane do tej listy baz danych.-PlanIDguid
Określa unikatowy identyfikator globalny (GUID) plan konserwacji bazy danych zdefiniowanych przy użyciu Kreatora planu konserwacji bazy danych.Jedyne informacje sqlmaint korzysta z planu jest lista baz danych w planie.Wszelkie czynności konserwacji określić w innych sqlmaint parametry są stosowane do tej listy baz danych.To musi odpowiadać plan_id wartość w 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.Raport przechowuje informacje o wersja, dodając data do nazwy pliku.Data jest generowany w następujący sposób: na końcu nazwy pliku, ale przed okresem, w formie _yyyyMMddhhmm.yyyy= year, MM = month, dd = day, hh = hour, mm = minute.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\AdventureWorks2008R2_maint.rpt
Generowanej nazwy pliku jest:
c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2008R2_maint_199612011023.rpt
Pełna nazwa pliku uniwersalnej konwencji nazewnictwa (UNC) jest wymagane dla text_file po sqlmaint uzyskuje dostęp do serwera zdalnego.
-To operator_name
Określa operator, do którego wysyłane jest wygenerowany raport pocztą 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 wymagane dla html_file po sqlmaint uzyskuje dostęp do serwera zdalnego.
-DelHtmlRpt <time_period>
Określa, że raport w formacie HTML w katalogu raport usunięte Jeśli czas interwał po utworzenia pliku raportu przekracza <time_period>.-DelHtmlRpt szuka plików, których nazwa pasuje generowany wzorek html_file parametru.Jeśli html_file to c:\Program Server\Mssql\Backup\AdventureWorks2008R2_maint.htm SQL Files\Microsoft, następnie - delhtmlrpt powoduje sqlmaint Usuń wszystkie pliki, których nazwy odpowiadają deseń C:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks2008R2_maint*.htm oraz że są starsze niż określona <time_period>.-RmUnusedSpacethreshold_percent free_percent
Określa usunięte nieużywane miejsce z bazy danych określonej 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ślanie 10 dla free_percent wyniki rozmiar końcowy bazy 110 MB.Należy zauważyć, że baza danych nie jest rozwinięty, jeśli jest mniejsza niż free_percent plus ilość danych w bazie danych.Na przykład, jeśli baza danych 108 MB ma 100 MB danych, określanie 10 dla free_percent nie Rozszerzanie bazy danych do 110 MB; pozostanie on na 108 MB.-CkDB | - ckdbnoidx
Określa, że instrukcja DBCC CHECKDB lub instrukcji DBCC CHECKDB z opcją NOINDEX się w bazie danych, określone w -D.Aby uzyskać więcej informacji zobacz DBCC CHECKDB.Ostrzeżenie jest zapisywana na text_file Jeśli baza danych jest używane podczas sqlmaint uruchamia.
-CkAl | - ckalnoidx
Określa, że instrukcja DBCC CHECKALLOC z opcją NOINDEX się w bazie danych, określonych w -D.Aby uzyskać więcej informacji, zobacz DBCC CHECKALLOC (Transact-SQL).-CkCat
Określa uruchomienie instrukcja DBCC CHECKCATALOG (języka Transact-SQL) w bazie danych, określone w -D.Aby uzyskać więcej informacji, zobacz DBCC CHECKCATALOG (Transact-SQL).-UpdOptiStatssample_percent
Określa, że następujące instrukcja uruchomić dla każdej tabela w bazie danych: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, zobacz AKTUALIZUJ STATYSTYKĘ (Transact-SQL).
-RebldIdxfree_space
Określa, że indeksów w tabeli w miejsce docelowe bazie danych należy zrekonstruować za pomocą programu free_space wartość procentową jako odwrotność współczynnik wypełnienia.Na przykład jeśli free_space odsetek wynosi 30, a następnie współczynnik wypełnienia, używany jest 70.Jeśli free_space określona wartość 100 procent, a następnie Odbudowa indeksów z oryginałem współczynnik wypełnienia wartość.Jeśli indeksy są obliczane kolumny, należy także określić - supportcomputedcolumn argument, korzystając z - rebldidx.
-SupportComputedColumn
Musi być określony do uruchamiania poleceń konserwacji DBCC z sqlmaint na kolumny obliczane.-WriteHistory
Określa, że zamieszczane w msdb.dbo.sysdbmaintplan_history dla każdej akcja konserwacji wykonywane przez sqlmaint.Jeśli - planname lub - planid jest określony, pozycje w sysdbmaintplan_history użyć Identyfikatora określonego planu.Jeśli -D jest określony, pozycje w sysdbmaintplan_history dokonuje się z zer dla planu identyfikatora.-BkUpDB backup_path] | -BkUpLog backup_path ]
Określa akcja kopia zapasowa.-BkUpDb kopię zapasową całej bazy danych.-BkUpLog kopię zapasową dziennika 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ć umieszczane w katalogu lub adres urządzenia taśmowe (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 jest kopii zapasowej.
yyyyMMddhhmmczas operacji wykonywania kopia zapasowa z yyyy = roku MM = miesiąc, dd = dzień, hh = Godzina, i mm = minuty.
Nazwa pliku kopia zapasowa transakcji jest generowany automatycznie przy użyciu formatu podobne:
dbname_log_yyyymmddhhmm.BAK
Jeśli używasz - bkupdb parametru, należy także określić nośnik za pomocą - bkupmedia parametru.
-BkUpMedia
Określa typ nośnika kopia zapasowa dysku lub taśmy.DYSK
Określa, że nośnik kopii zapasowych dysku.-DelBkUps< time_period >
Kopii zapasowych na dysku, określa, że każdy plik kopia zapasowa w katalogu kopii zapasowych usunięte Jeśli czas interwał po tworzenia kopia zapasowa przekracza <time_period>.-CrBkSubDir
Kopie zapasowe dysków, utworzony w podkatalogu określa [backup_path] katalogu lub w domyślnym katalogu kopia zapasowa, jeśli - usedefdir określony jest również.Nazwa podkatalogu jest generowany na podstawie nazwy bazy danych określonej w -D.-CrBkSubDir oferuje prosty sposób umieścić wszystkie kopie zapasowe dla różnych baz danych w oddzielnych podkatalogów bez konieczności zmiany backup_path parametru.-UseDefDir
Kopii zapasowych na dysku, określa, że plik kopia zapasowa utworzone w domyślnym katalogu kopia zapasowa.UseDefDir zastępuje backup_path , jeśli są określone oba.With a default Microsoft SQL Server setup, the default backup directory is C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup.TAŚMY
Określa, że nośnik kopii zapasowych jest taśmy.-BkUpOnlyIfClean
Określa, że kopia zapasowa występować tylko jeśli określono - ck kontroli nie znalazł problemy z danymi.W tej samej sekwencji uruchomić prac konserwacyjnych, znajdujące się w wiersz polecenia.Określenie parametrów - ckdb, - ckdbnoidx, - ckal, - ckalnoidx, - cktxtal, lub - ckcat przed - bkupdb/- bkuplog parametrów, jeśli będą również określić - bkuponlyifclean, lub występuje kopia zapasowa, czy sprawdzanie raportuje problemy.-VrfyBackup
Określa uruchomić przywracanie VERIFYONLY na 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.Prawidłowymi przykładami:12weeks
3months
15days
Jeśli tylko number jest określony, domyślnie część data jest tygodni.
Uwagi
Sqlmaint narzędzie wykonanie operacji konserwacji na jeden lub więcej baz danych.Jeśli -D podano tylko dla określonej bazy danych wykonywane są operacje określone w pozostałych przełączników.Jeśli - planname lub - planid są określone informacje tylko sqlmaint pobiera z planu konserwacji określonego jest lista baz danych w planie.Wszystkie operacje określone w pozostałych sqlmaint parametry są stosowane w każdej bazie danych na liście uzyskany z planu. Sqlmaint narzędzie nie ma zastosowania czynności konserwacji określonych w sam plan.
Sqlmaint narzędzie zwraca 0, jeśli zostanie wykonane pomyślnie lub 1, w przypadku awarii.Zgłaszany jest błąd:
Jeśli nie wszystkie akcje konserwacji.
Jeśli - ckdb, - ckdbnoidx, - ckal, - ckalnoidx, - cktxtal, lub - ckcat kontroli znaleźć problemy z danymi.
Jeśli napotka błąd ogólny.
Uprawnienia
Sqlmaint narzędzia mogą być wykonywane przez dowolnego użytkownika systemu Windows z Odczyt i wykonywanie uprawnienie do sqlmaint.exe, który domyślnie znajduje się w x:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER1\MSSQL\Binn folder.Ponadto SQL Server logowania określony z -login_ID musi mieć SQL Server uprawnienia wymagane do wykonania określonej akcja.Jeśli połączenie z SQL Server używa uwierzytelniania systemu Windows, SQL Server logowania mapowanego do uwierzytelnionego użytkownika systemu Windows musi mieć SQL Server uprawnienia wymagane do wykonania określonej akcja.
Na przykład za pomocą - bkupdb wymaga uprawnienia do wykonać instrukcja wykonywania kopii zapasowej.I - updoptistats uprawnienia do wykonać instrukcja UPDATE STATISTICS wymaga argumentu.Aby uzyskać więcej informacji zobacz "Uprawnienia" sekcje w odpowiednich tematach Books Online.
Przykłady
A.DBCC wykonywania kontroli bazy danych
sqlmaint -S MyServer -D AdventureWorks -CkDB -CkAl -CkCat -Rpt C:\MyReports\AdvWks_chk.rpt
B.Aktualizowanie statystyki przy użyciu próbki 15% w przypadku wszystkich baz danych w planie.Ponadto zmniejszyć dowolnej bazy danych, które osiągnęły 110 MB do posiadania jedynie 10% wolnego miejsca
sqlmaint -S MyServer -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10
C.Wykonywanie kopii zapasowych wszystkich baz danych w planu do ich poszczególnych podkatalogów w katalogu domyślnym plik Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup.Ponadto usunąć wszystkie kopie zapasowe starsze niż 2 tygodnie
sqlmaint -S MyServer -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks
D.Wykonywanie kopii zapasowej bazy danych do domyślnego katalogu Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup plik.\
sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir