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 PAGE檢視SQL Server中的表和索引資料SQLServer索引
- [zt] SQL Server管理員必備的DBCC用法SQLServer
- sqlserver 關於DBCC CHECKDB的總結SQLServer
- 使用DBCC CHECKDB工具修復資料庫XT資料庫
- DBCC CheckDB-架構損壞。執行 DBCC CHECKCATALOG 嚴重錯誤。架構
- SQL Server資料庫管理員必備的DBCC命令SQLServer資料庫
- SQL Server 備份與恢復之六:介質集與備份集SQLServer
- SQL Server中的dbcc page命令用法SQLServer
- SQL Server中的dbcc ind命令用法SQLServer
- Sql Server系列:DBCC命令SQLServer
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- 【SQL Server】本地備份和還原SQLServer
- 優化SQL Server中的備份優化SQLServer
- 可以將備份集備份到另外的server上嗎Server
- SQL SERVER DBCC命令解釋SQLServer
- SQL Server 的備份和恢復模式的工作方式SQLServer模式
- SQL Server 備份策略SQLServer
- SQL Server 冷備份SQLServer
- 優化 SQL Server 中的備份和還原效能優化SQLServer
- SQL server差異備份和還原SQLServer
- 0級備份和全備份的本質區別是什麼 ?
- sql checkdbSQL
- SQL Server 2008 的恢復和備份模式SQLServer模式
- 備份和恢復SQL Server資料庫SQLServer資料庫
- SQL Server 聚集索引和非聚集索引的區別SQLServer索引
- SQL Server中的未文件化的dbcc命令(適用於SQL Server 2000)SQLServer
- SQL Server 2008使用映象備份媒體集SQLServer
- 備份集和備份片之間的關係
- SQL Server大型事務日誌的備份SQLServer
- SQL Server 中備份的還原和恢復工作方式SQLServer
- 超級有用的CSS編碼工具集CSS
- SQL Server 備份遷移策略SQLServer
- 備份SQL Server資料庫SQLServer資料庫
- SQL Server定期自動備份SQLServer
- SQL Server資料庫備份SQLServer資料庫
- [轉載] SQL server 差異備份和還原SQLServer
- 備份次新的DR(sql server dmp檔案)SQLServer