Sqlmaint yardımcı programı
Thesqlmaint utility performs a specified set of maintenance operations on one or more databases.Kullanımı Sqlmaint yedekleyin ve işlem günlüğü, bir veritabanı olarak, DBCC denetimleri çalıştırmak için istatistikleri güncelleştirin ve dizinleri yeniden.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.Çalıştırmak için SQL Server komut istemi isteminden bakım planları kullanmak dtexec yardımcı programı yardımcı programı.
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. Kullanımı SQL Server Bakım özelliği yerine planlayın. Bakım planları hakkında daha fazla bilgi için bkz: Bakım planları. |
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]
Bağımsız değişkenler
Parametreler ve değerleri boşlukla ayrılması gerekir.Örneğin, bulunmalıdır arasına boşluk -S and server_name.
-?
Sözdizimi için Diyagram belirtir. Sqlmaint döndürülür.Bu parametre, tek başına olarak kullanılmalıdır.-Sserver_name[ **\instance_name]
Specifies the target instance of Microsoft SQL Server.Belirtin server_name Varsayılan olarak bağlanmak için örnek, SQL Server Database Engine Bu sunucuda. Belirtin server_name\**instance_name adlı bir bağlanma örnek Database Engine Bu sunucuda. Herhangi bir sunucu belirtilmezse, Sqlmaint varsayılan örneğine bağlar.Database Engine yerel bilgisayarda.-Ulogin_ID
Sunucuya bağlanırken kullanılacak oturum oturum açma kimliği belirtir., Sağlanan değil Sqlmaint kullanılacak çalışır.Microsoft Windows kimlik doğrulaması. If login_IDözel karakterler içeren çift tırnak işareti ('') alınmalıdır; aksi halde, çift tırnak işareti isteğe bağlıdır.Security Note: Mümkünse Windows Kimlik Doğrulaması kullanın.
-Ppassword
Parola için oturum açma KIMLIğI belirtir.Yalnızca geçerli ise -U parametresi de sağlanır.If password özel karakterler içeren çift tırnak içine alınmalıdır; aksi halde, çift tırnak işareti isteğe bağlıdır.Security Note: Parolayı maskelenmiş değil.Mümkünse Windows Kimlik Doğrulaması kullanın.
-Ddatabase_name
Bakım işlemini gerçekleştirmek, veritabanının adını belirtir.If database_name özel karakterler içeren çift tırnak içine alınmalıdır; aksi halde, çift tırnak işareti isteğe bağlıdır.-PlanNamename
Veritabanı Maintenance Plan Wizard'ı kullanılarak tanımlanmış bir veritabanı bakım planının adını belirtir.Yalnızca bilgileri Sqlmaint planından kullanımdır veritabanlarının listesi plan.Belirttiğiniz diğer tüm bakım faaliyetler Sqlmaint parametreler, veritabanlarının bu listeye uygulanır.-PlanIDguid
Genel benzersiz tanımlayıcı (GUID) veritabanı Maintenance Plan Wizard'ı kullanılarak tanımlanmış bir veritabanı bakım planını belirtir.Yalnızca bilgileri Sqlmaint planından kullanımdır veritabanlarının listesi plan.Belirttiğiniz diğer tüm bakım faaliyetler Sqlmaint parametreler, veritabanlarının bu listeye uygulanır.Bu, msdb.dbo.sysdbmaintplans plan_id değeri aynı olmalıdır.-Rpttext_file
Tam belirtir yol ve içine rapor oluşturulup dosyasının adı.Rapor, ekranda da oluşturulur.Rapor, dosya adı için bir tarih ekleyerek sürüm bilgilerini saklar.Tarih gibi oluşturulur: Dosya adının, ancak önce _ biçiminde bir dönemin sonundayyyyMMddhhmm. yyyy yıl = MM Ay = dd gün = hh saat = mm dakika =.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
Oluşturulan dosyanın adıdır:
c:\Program Files\Microsoft SQL Server\Mssql\Backup\AdventureWorks_maint_199612011023.rpt
Tam bir Evrensel Adlandırma Kuralı (UNC) dosya adı gereklidir text_file ne zaman Sqlmaint uzaktaki bir sunucuyu erişir.
-To operator_name
Oluşturulan rapor SQL Mail gönderildiği işleç belirtir.-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.Tam UNC dosya adı gereklidir html_file ne zaman Sqlmaint uzaktaki bir sunucuyu erişir.
-DelHtmlRpt <time_period>
Rapor dosyası oluşturulduktan sonra saat aralığını aşarsa rapor dizinindeki tüm HTML raporu silineceğini belirtir <time_period>. -DelHtmlRpt oluşturulan desen adı uyan dosyaları ararhtml_file Parametre. If html_file c:\Program Files\Microsoft SQL Server\Mssql\yedek\AdventureWorks_maint.htm, ise -DelHtmlRpt causes Sqlmaint C:\Program Files\Microsoft SQL Server\Mssql\yedek\AdventureWorks_maint*.htm deseni ve, adları eşleşen tüm dosyaları silmek için [NULL]'den <time_period>belirtilen eski.-RmUnusedSpacethreshold_percent free_percent
Belirtilen veritabanından kaldırılması kullanılmayan alanı belirtir -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.200 MB veritabanı 100 MB veri içeriyorsa, örneğin, 10 belirtme free_percent sonuçlar 110 MB olan son veritabanı boyutu. Daha küçük ise veritabanı genişletilir unutmayın. free_percent Ayrıca veritabanında veri miktarı. 108 MB veritabanı 100 MB veri varsa, örneğin, 10 belirtme free_percent Veritabanı; 110 MB genişletmez 108 MB olarak kalır.-CkDB | -CkDBNoIdx
Belirleyen bir DBCC CHECKDB deyim veya bir DBCC CHECKDB deyim ile NOINDEX belirtilen veritabanında çalıştırın seçeneği olabilir. -D.Daha fazla bilgi için DBCC CHECKDB bakın.Bir uyarı yazılır text_file Veritabanı ise zaman kullanın. Sqlmaint çalışır.
-CkAl | -CkAlNoIdx
Belirtilen veritabanındaki bir NOINDEX seçeneği DBCC CHECKALLOC deyimiyle çalıştırılması belirtir. -D.Daha fazla bilgi için bkz:DBCC CHECKALLOC (Transact-SQL).-CkCat
Belirtilen veritabanındaki bir DBCC CHECKCATALOG (Transact-SQL) deyim çalıştırılması belirtir. -D.Daha fazla bilgi için bkz:DBCC CHECKCATALOG (Transact-SQL).-UpdOptiStatssample_percent
Aşağıdaki deyim veritabanındaki her tablo çalıştırılması belirtir:UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT
Tablo hesaplanan bir sütun içermiyorsa, de belirtmelisiniz -SupportedComputedColumn kullandığınızda bağımsız değişkeni-UpdOptiStats.
Daha fazla bilgi için bkz:güncelleştirme istatistikleri (Transact-SQL).
-RebldIdxfree_space
Hedef veritabanındaki tablolarda dizinler kullanarak yeniden oluşturulması olduğunu belirtir free_space yüzde değeri olarak doldurma faktörü tersini. Örneğin, free_space yüzde 30'dur ve 70 kullanılan doldurma faktörü olur. Varsa bir free_space değeri yüzde 100'de belirtilir ve özgün doldurma faktörü değeri için dizinler yeniden oluşturulur.Dizinler hesaplanan sütunlarda olup olmadığını, da belirtmelisiniz -SupportComputedColumn kullandığınızda bağımsız değişkeni-RebldIdx.
-SupportComputedColumn
DBCC bakım komutları çalıştırmak için mutlaka belirtilmeli Sqlmaint hesaplanan sütunlar hakkında.-WriteHistory
Giriş msdb.dbo.sysdbmaintplan_history gerçekleştirdiği her bakım eylemin yapılacağını belirtir. Sqlmaint.If -PlanName or -PlanID belirtilirse, belirtilen planı KIMLIĞINI sysdbmaintplan_history girişleri'ni kullanın.If -D , planın KIMLIğI için sıfır ile yapılan girişler sysdbmaintplan_history içinde belirtilen-BkUpDB [ backup_path] | -BkUpLog [ backup_path ]
Bir yedek eylem belirtir.-BkUpDb tüm veritabanını yedekler.-BkUpLog yalnızca işlem günlüğü yedekler.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.yedek, dizin veya bir teyp aygıtı adresi yerleştirilebilir (örneğin, \\.\tape0).Bir veritabanı yedeklemesini dosya adını aşağıdaki gibi otomatik olarak oluşturulur:
dbname_db_yyyyMMddhhmm.BAK
Burada
dbname Veritabanı olma adı yedeklenir.
yyyyMMddhhmm yedek işlemi, süre olarak tanımlanır. yyyy yıl = MM Ay = dd gün = hh saat, = ve mm dakika =.
Hareket bir yedek dosya adı ile benzer bir biçimde otomatik olarak oluşturulur:
dbname_log_yyyymmddhhmm.BAK
Kullanıp kullanmadığımı -BkUpDB parametresi de ortam kullanarak belirtmelisiniz-BkUpMedia parametresi.
-BkUpMedia
yedek, DISK veya TAPE ortam türünü belirtir.disk
yedek ortamı disk olduğunu belirtir.-DelBkUps< time_period >
Disketi yedek için herhangi bir belirtir yedek dosyası yedekteki yedeğin oluşturulduktan sonra saat aralığını aşarsa, Dizin silinmesi <time_period>.-CrBkSubDir
Disketi yedek için bir alt dizin oluşturulmasını [belirtir.backup_path] varsayılan dizin veya dizin için yedek -UseDefDir da belirtilir.Alt dizin adı belirtilen veritabanı adı oluşturulur -D.-CrBkSubDir değiştirmek zorunda kalmadan ayrı alt dizinler içinde farklı veritabanlarının tüm yedekleri koymak için kolay bir yol sunar.backup_path Parametre.-UseDefDir
Disk yedeğini, yedekleme dosyasının varsayılan yedek dizine oluşturulması belirtir.UseDefDir geçersiz kılar.backup_path her ikisi de belirtilirse. With a default Microsoft SQL Server setup, the default backup directory is C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup.TEYBİ
yedek ortamı teybi belirtir.-BkUpOnlyIfClean
yedek yalnızca varsa belirtilen ortaya belirtir. -Ck denetimleri, verileri bir sorun bulamadı.komut istemi istemine göründükleri gibi bakım işlemleri aynı sıra ile çalıştırın.Parametreleri belirtin. -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat önce-BkUpDB/-BkUpLog Ayrıca belirtmek için kullanacaksanız parametre(ler). -BkUpOnlyIfClean, veya çek sorunları rapor edilip edilmediğini yedek oluşur.-VrfyBackup
geri yükleme VERIFYONLY tamamlandığında yedek çalıştırılması belirtir.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.Geçerli örnekler:12weeks
3months
15days
Yalnızca number , varsayılan tarih bölümü hafta olduğu belirtilir.
Remarks
The sqlmaint utility performs maintenance operations on one or more databases.If -D belirtilmedi, diğer anahtarlar belirtilen operasyonlar yalnızca belirtilen veritabanı gerçekleştirilir.If -PlanName or -PlanID belirtilirse, yalnızca bilgi Sqlmaint alır belirtilen bakım planından veritabanlarının bir listesini planda olur.Kalan içinde belirtilen tüm işlemleri Sqlmaint Parametreler planı elde listesinde her bir veritabanını karşı uygulanır.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.Bildirilen hata:
Bakım eylemlerden herhangi birini uygulamazsanız.
If -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl, or -CkCat çek verileri ile ilgili sorunları bulun.
Genel bir hatayla karşılaşıldığında.
İzinler
The sqlmaint utility can be executed by any Windows user with Read and yürütmek permission on sqlmaint.exe, which by default is stored in the x:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER1\MSSQL\Binn folder. Ayrıca, SQL Server ile belirtilen oturum açma -login_ID olmalıdırSQL Server Belirtilen eylem gerçekleştirmek için gereken izinler. Bağlantı SQL Server Windows kimlik doğrulaması kullanan SQL Server oturum açma kimliği doğrulanmış bir Windows kullanıcısı için eşlenmiş olmalıdır SQL Server Belirtilen eylem gerçekleştirmek için gereken izinler.
Örneğin, -BkUpDB yedek deyim yürütmek izni gerektirir.Ve -UpdOptiStats bağımsız değişkeni güncelleştirme istatistikleri deyim yürütmek izni gerektirir.Daha fazla bilgi için ilgili konular Books Online'da "İzni" bölümlerine bakın.
Örnekler
C.DBCC gerçekleştirme AdventureWorks veritabanını denetler.
sqlmaint -S MyServer -D AdventureWorks -CkDB -CkAl -CkCat -Rpt C:\MyReports\AdvWks_chk.rpt
b.% 15 Örnek bir planındaki tüm veritabanlarında kullanarak istatistiklerini güncelleştiriliyor.Ayrıca, yalnızca 10 % boş alan bulunması 110 MB ulaştınız veritabanının tüm Daralt
sqlmaint -S MyServer -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10
c.Bir planı tüm veritabanlarını yedek için varsayılan x:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\yedek dizini tek, dizinlerde.Ayrıca, 2 hafta eski olan herhangi bir yedekleme silme
sqlmaint -S MyServer -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks
d.Varsayılan x:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\yedek dizinine AdventureWorks veritabanı yedek.\
sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir