Hallengren是SQl Server集備份和索引重建和DBCC checkdb一起的超級好用的工具
下載路徑
備份的各個引數介紹
DBCC checkdb的各個引數介紹
索引重建或重組的各個引數介紹
步驟一:下載後,根據自己需要修改下面兩點
1、它的一些工具指令碼預設是放在master資料庫下,如果想放入其他資料庫下,只需要把下面程式碼中的master修改為其他資料庫就行
USE [master] -- Specify the database in which the objects will be created
2、如果例項名@@ServerName和伺服器SERVERPROPERTY('machinename')不一致,則註釋掉如下程式碼
IF @@SERVERNAME <> CAST(SERVERPROPERTY('ServerName') AS nvarchar(max)) AND SERVERPROPERTY('IsHadrEnabled') = 1
BEGIN
INSERT INTO @Errors ([Message], Severity, [State])
SELECT 'The @@SERVERNAME does not match SERVERPROPERTY(''ServerName''). See ' + CASE WHEN SERVERPROPERTY('IsClustered') = 0 THEN ' WHEN SERVERPROPERTY('IsClustered') = 1 THEN ' END + '.', 16, 1
END
步驟二:下載後的指令碼修改好後,就可以直接執行該指令碼,執行後,會生成如下7個job,4個備份job,2個DBCC CHECKDB的job,1個index rebuild\reorganize的job
DatabaseBackup - SYSTEM_DATABASES - FULL
DatabaseBackup - USER_DATABASES - DIFF
DatabaseBackup - USER_DATABASES - FULL
DatabaseBackup - USER_DATABASES - LOG
DatabaseIntegrityCheck - SYSTEM_DATABASES
DatabaseIntegrityCheck - USER_DATABASES
IndexOptimize - USER_DATABASES
步驟三:直接修改job的步驟資訊和給job新增schedule排程計劃就行
優點
1、備份的時候,可供選擇的選項很多,非常方便,比如備份後是否執行Verify操作,備份是否Compress,是否啟用mirror目錄,備份超過多長時間刪除等等
EXECUTE [dbo].[DatabaseBackup] @Databases = 'USER_DATABASES', @Directory = '\\backup1\DBPROD2', @BackupType = 'FULL', @Verify = 'Y', @CleanupTime = 360, @CheckSum = 'Y', @LogToTable = 'Y', @MAXTRANSFERSIZE = 66666, @Compress = 'Y', @Updateability = 'READ_WRITE', @MirrorDirectory = '\\backup2\DBPROD2', @MirrorCleanupTime= 480
2、就算job配置好了,批次修改或新增引數也很方便,只要登入伺服器執行如下即可
use msdb
exec sp_update_jobstep @job_name = N'IndexOptimize - USER_DATABASES',
@step_id = 1,
@command = N'EXECUTE [dbo].[IndexOptimize] @Databases = ''USER_DATABASES'', @LogToTable = ''Y'', @Timelimit = 18000'
exec sp_update_jobstep @job_name = N'DatabaseIntegrityCheck - USER_DATABASES',
@step_id = 1,
@command = N'EXECUTE [dbo].[DatabaseIntegrityCheck] @Databases = ''USER_DATABASES'', @LogToTable = ''Y'', @Timelimit = 18000'
3、遇到sqlserver express版本,沒有sqlserver agent服務導致沒有job的情況下,也可以使用bat批處理指令碼呼叫sqlcmd作業系統命令去呼叫hallengren的儲存過程,當然-Q後面的必須用""雙引號,引數的值如果為字串,必須要用單引號包含起來,每個引數之間不能換行,這點和TSQL不一樣
sqlcmd -E -d DBA -Q "EXEC DatabaseBackup @Databases = 'SYSTEM_DATABASES',@Directory = '\\sanbackup9',@BackupType = 'FULL',@Verify = 'Y',@CleanupTime = 360,@CheckSum = 'Y',@LogToTable = 'Y',@MAXTRANSFERSIZE = 66666"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2758813/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DBCC CheckDB-架構損壞。執行 DBCC CHECKCATALOG 嚴重錯誤。架構
- sqlserver 關於DBCC CHECKDB的總結SQLServer
- 使用DBCC CHECKDB工具修復資料庫XT資料庫
- 【SQL Server】本地備份和還原SQLServer
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- SQL Server 2014的重建索引SQLServer索引
- 備份集和備份片之間的關係
- SQL SERVER 2012資料庫自動備份的方法SQLServer資料庫
- 如何將SQL Server 2000備份的資料庫檔案還原(升級)為SQL Server 2005或更高版本的資料庫?SQLServer資料庫
- SQL Server索引 - 非聚集索引SQLServer索引
- SQL Server資料庫備份保護的關鍵UMSQLServer資料庫
- 最佳化SQL Server索引的技巧SQLServer索引
- 怎樣在SQL Server搭建主從備份SQLServer
- [學習筆記]SQL server完全備份指南筆記SQLServer
- SQL Server 索引結構SQLServer索引
- SqlServer 備份集和備份片以及mirror的backup_set_idSQLServer
- SQL Server DBA:那些年,我們一起用過的工具FASQLServer
- Jtti:sql server怎麼增量備份資料庫JttiSQLServer資料庫
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- 超好用的API工具-SwaggerAPISwagger
- 詳解SQL Server 2012資料庫備份與還原的教程SQLServer資料庫
- MySQL中如何選擇合適的備份策略和備份工具MySql
- 安利一款超級好用的 Dubbo 除錯工具 Apifox除錯API
- SQL Server升級和遷移的三個技巧GZSQLServer
- 超好用的 phpstorm debug工具,yasdPHPORM
- (摘)sql-索引的作用(超詳細)SQL索引
- 關於SQL Server索引的最左匹配原則SQLServer索引
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- 超級好用的線上翻譯工具:Translatium Mac中文版Mac
- 詳解叢集級備份恢復:物理細粒度備份恢復
- 入門必備的超全Linux備份工具集合,滿足運維的所有需要!Linux運維
- Sql Server關於indexed view索引檢視的總結SQLServerIndexView索引
- SQL Server資料庫判斷最近一次的備份執行結果SQLServer資料庫
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- 網站搬家時匯入SQL Server備份檔案失敗網站SQLServer
- SQL Server2014 雜湊索引原理SQLServer索引
- Xcode自帶的超好用的診斷工具XCode
- sql server 索引闡述系列七 索引填充因子與碎片SQLServer索引