除了建立備份之外,SQL Server還提供了各種任務和功能,它們可以提高資料庫的效能和可靠性。我們之前已經向您展示瞭如何使用簡單的命令列指令碼備份SQL Server資料庫,因此我們將以同樣的方式提供一個指令碼,它將允許您輕鬆地執行常見的維護任務。
壓縮/收縮資料庫[/Compact]
有幾個因素會影響SQLServer資料庫使用的物理磁碟空間。舉幾個例子:
壓縮(或收縮)資料庫將回收未使用的磁碟空間。對於小型資料庫(200 MB或更少),這通常不會太多,但是對於大型資料庫(1 GB或更多),回收的空間可能會很大。
重新索引資料庫[/Reindex]
就像不斷地建立、編輯和刪除檔案會導致磁碟碎片一樣,在資料庫中**、更新和刪除記錄也會導致表碎片。實際結果是相同的,讀寫操作會受到效能的影響。雖然這不是一個完美的類比,但對資料庫中的表重新編制索引實際上是對它們進行碎片整理。在某些情況下,這可以顯著提高資料檢索的速度。
由於SQLServer的工作方式,表必須單獨重新編制索引。對於具有大量表的資料庫來說,手動執行這項操作確實很痛苦,但是我們的指令碼會命中相應資料庫中的每個表並重建所有索引。
驗證完整性[/Verify]
為了使資料庫保持功能併產生準確的結果,必須有許多完整性專案。謝天謝地,物理和/或邏輯完整性問題並不常見,但偶爾在資料庫上執行完整性驗證過程並檢查結果是一種很好的做法。
當驗證過程透過我們的指令碼執行時,只會報告錯誤,所以沒有訊息就是好訊息。
SQLMaint批處理指令碼與sql2005及更高版本相容,必須在安裝了SQLCMD工具(作為sqlserver安裝的一部分安裝)的計算機上執行。建議您將此指令碼放到Windows路徑變數(即C:Windows)中設定的位置,以便可以像從命令列呼叫任何其他應用程式一樣輕鬆地呼叫它。
要檢視幫助資訊,只需輸入:
SQLMaint /?
示例
要使用可信連線在資料庫“MyDB”上執行壓縮,然後執行驗證,請執行以下操作:
SQLMaint MyDB /Compact /Verify
要使用密碼為“123456”的“sa”使用者在命名例項“Special”上執行reindex並壓縮“MyDB”:
SQLMaint MyDB /S:.Special /U:sa /P:123456 /Reindex /Compact
從批處理指令碼內部使用
雖然SQLMaint批處理指令碼可以像命令列中的應用程式一樣使用,但是當您在另一個批處理指令碼中使用它時,它的前面必須有CALL關鍵字。
例如,此指令碼使用可信身份驗證在預設SQL Server安裝上的每個非系統資料庫上執行所有維護任務:
@ECHO OFF SETLOCAL EnableExtensi*** SET DBList=”%TEMP%DBList.txt” SqlCmd -E -h-1 -w 300 -Q “SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE Name Not IN (‘master’,’model’,’msdb’,’tempdb’)” > %DBList% FOR /F “usebackq tokens=1” %%i IN (%DBList%) DO ( CALL SQLMaint “%%i” /Compact /Reindex /Verify ECHO +++++++++++ ) IF EXIST %DBList% DEL /F /Q %DBList% ENDLOCAL
從下載SQLMaint批處理腳本系統管理員網站
... 安裝嚮導附帶了SQL Server的安裝嚮導。為測試伺服器設定選擇正確的設定非常重要。對於這種型別的伺服器,請確保選擇Standalone MySQL server/Classic MySQL Replication。 ...
...找到一個名為結果.txt與命令輸出的批處理檔案位於同一資料夾中。批處理檔案執行完成後,命令提示符視窗將自動關閉。 我們上面使用的示例實際上依賴於將資訊列印到命令提示符,以便使用者可以閱讀。但是,許多批處理檔...
...此工作正常,批處理檔案需要與PowerShell指令碼放在同一資料夾中,並且具有相同的檔名。所以如果你的PowerShell指令碼被呼叫“MyScript.ps1,您將要命名批處理檔案MyScript.bat檔案“並確保它在同一個資料夾中。然後,將這些行放入...
...您工作的計算機所能理解的路徑名(例如:\MyDVDBackup或\\server\MP3s)。我們將從索引\\Hive\Software開始,它是我們備份軟體安裝檔案的位置。除了指定要索引的位置外,還可以編輯卷標。 此卷標將在Cathy中顯示,並作為Cathy為此位...
...置儲存資料庫 BGInfo支援以多種資料庫格式儲存資訊:sqlserver資料庫、Access資料庫、Excel和文字檔案。要配置此選項,請開啟“檔案”>“資料庫”。 使用文字檔案 最簡單,也許也是最實用的選擇是將BGInfo資料儲存在逗號分隔...
對於任何活動資料庫,磁碟儲存需求都會隨著時間的推移而增長。雖然您可以透過在SQL Management Studio中檢視資料庫屬性的“檔案”頁或僅在Windows資源管理器中檢視底層檔案來輕鬆檢視整個資料庫所使用的磁碟空間,但如果您想...
... 連結 從下載備份檔案腳本系統管理員網站 下載Windows Server 2003工具包(包括RoboCopy.exe)來自Microsoft
...期備份SQL資料庫。我們已經介紹了可以輕鬆地將所有SQL server資料庫備份到本地硬碟驅動器的方法,但這並不能防止驅動器和/或系統故障。作為針對此類災難的額外保護層,您可以在網路共享上覆制或直接建立備份。 本地備份...