使sql server資料庫維護簡單的批處理指令碼

除了建立備份之外,SQL Server還提供了各種任務和功能,它們可以提高資料庫的效能和可靠性。我們之前已經向您展示瞭如何使用簡單的命令列指令碼備份SQL Server資料庫,因此我們將以同樣的方式提供一個指令碼,它將允許您輕鬆地執行常見的維護任務。...

除了建立備份之外,SQL Server還提供了各種任務和功能,它們可以提高資料庫的效能和可靠性。我們之前已經向您展示瞭如何使用簡單的命令列指令碼備份SQL Server資料庫,因此我們將以同樣的方式提供一個指令碼,它將允許您輕鬆地執行常見的維護任務。

壓縮/收縮資料庫[/Compact]

有幾個因素會影響SQLServer資料庫使用的物理磁碟空間。舉幾個例子:

  • 隨著時間的推移,隨著記錄的新增、刪除和更新,SQL不斷地增長和收縮表,並生成臨時資料結構來執行查詢操作。為了滿足磁碟儲存的需要,SQLServer會根據需要增加資料庫的大小(通常增加10%),這樣資料庫檔案的大小就不會不斷變化。雖然這對效能非常理想,但它可能會導致與所用儲存空間斷開連線,因為例如,如果您添加了大量記錄,導致資料庫增長並隨後刪除這些記錄,SQL Server將不會自動回收此磁碟空間。
  • 如果在資料庫上使用完全恢復模式,則事務日誌檔案(LDF)可能會變得相當大,尤其是在更新量很大的資料庫上。

壓縮(或收縮)資料庫將回收未使用的磁碟空間。對於小型資料庫(200 MB或更少),這通常不會太多,但是對於大型資料庫(1 GB或更多),回收的空間可能會很大。

重新索引資料庫[/Reindex]

就像不斷地建立、編輯和刪除檔案會導致磁碟碎片一樣,在資料庫中**、更新和刪除記錄也會導致表碎片。實際結果是相同的,讀寫操作會受到效能的影響。雖然這不是一個完美的類比,但對資料庫中的表重新編制索引實際上是對它們進行碎片整理。在某些情況下,這可以顯著提高資料檢索的速度。

由於SQLServer的工作方式,表必須單獨重新編制索引。對於具有大量表的資料庫來說,手動執行這項操作確實很痛苦,但是我們的指令碼會命中相應資料庫中的每個表並重建所有索引。

驗證完整性[/Verify]

為了使資料庫保持功能併產生準確的結果,必須有許多完整性專案。謝天謝地,物理和/或邏輯完整性問題並不常見,但偶爾在資料庫上執行完整性驗證過程並檢查結果是一種很好的做法。

當驗證過程透過我們的指令碼執行時,只會報告錯誤,所以沒有訊息就是好訊息。

使用指令碼

SQLMaint批處理指令碼與sql2005及更高版本相容,必須在安裝了SQLCMD工具(作為sqlserver安裝的一部分安裝)的計算機上執行。建議您將此指令碼放到Windows路徑變數(即C:Windows)中設定的位置,以便可以像從命令列呼叫任何其他應用程式一樣輕鬆地呼叫它。

要檢視幫助資訊,只需輸入:

SQLMaint /?

使sql server資料庫維護簡單的批處理指令碼

示例

要使用可信連線在資料庫“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批處理腳本系統管理員網站

  • 發表於 2021-04-13 07:02
  • 閱讀 ( 34 )
  • 分類:網際網路

你可能感興趣的文章

如何在windows上安裝mysql資料庫

... 安裝嚮導附帶了SQL Server的安裝嚮導。為測試伺服器設定選擇正確的設定非常重要。對於這種型別的伺服器,請確保選擇Standalone MySQL server/Classic MySQL Replication。 ...

  • 發佈於 2021-03-11 21:33
  • 閲讀 ( 53 )

使用sql連線字串的巧妙方法

...(但仍在使用),但仍然需要連線來返回組合結果或操作資料。 ...

  • 發佈於 2021-03-13 07:05
  • 閲讀 ( 48 )

如何透過五個簡單步驟建立批處理(bat)檔案

... %%a:資料夾中的每個檔案。 ...

  • 發佈於 2021-03-23 08:09
  • 閲讀 ( 48 )

如何在windows上編寫批處理指令碼

...找到一個名為結果.txt與命令輸出的批處理檔案位於同一資料夾中。批處理檔案執行完成後,命令提示符視窗將自動關閉。 我們上面使用的示例實際上依賴於將資訊列印到命令提示符,以便使用者可以閱讀。但是,許多批處理檔...

  • 發佈於 2021-04-09 10:18
  • 閲讀 ( 35 )

如何使用批處理檔案使powershell指令碼更易於執行

...此工作正常,批處理檔案需要與PowerShell指令碼放在同一資料夾中,並且具有相同的檔名。所以如果你的PowerShell指令碼被呼叫“MyScript.ps1,您將要命名批處理檔案MyScript.bat檔案“並確保它在同一個資料夾中。然後,將這些行放入...

  • 發佈於 2021-04-11 03:30
  • 閲讀 ( 49 )

如何在快閃記憶體驅動器、網路共享、DVD等上即時查詢檔案

...您工作的計算機所能理解的路徑名(例如:\MyDVDBackup或\\server\MP3s)。我們將從索引\\Hive\Software開始,它是我們備份軟體安裝檔案的位置。除了指定要索引的位置外,還可以編輯卷標。 此卷標將在Cathy中顯示,並作為Cathy為此位...

  • 發佈於 2021-04-11 22:02
  • 閲讀 ( 35 )

使用bginfo構建網路計算機的系統資訊資料庫

...置儲存資料庫 BGInfo支援以多種資料庫格式儲存資訊:sqlserver資料庫、Access資料庫、Excel和文字檔案。要配置此選項,請開啟“檔案”>“資料庫”。 使用文字檔案 最簡單,也許也是最實用的選擇是將BGInfo資料儲存在逗號分隔...

  • 發佈於 2021-04-13 02:12
  • 閲讀 ( 78 )

輕鬆檢視資料庫中各個sql表的磁碟空間使用情況

對於任何活動資料庫,磁碟儲存需求都會隨著時間的推移而增長。雖然您可以透過在SQL Management Studio中檢視資料庫屬性的“檔案”頁或僅在Windows資源管理器中檢視底層檔案來輕鬆檢視整個資料庫所使用的磁碟空間,但如果您想...

  • 發佈於 2021-04-13 07:54
  • 閲讀 ( 29 )

輕鬆地在所有網路計算機上保留本地檔案的映象備份

... 連結 從下載備份檔案腳本系統管理員網站 下載Windows Server 2003工具包(包括RoboCopy.exe)來自Microsoft

  • 發佈於 2021-04-13 08:14
  • 閲讀 ( 30 )

如何將sql資料庫備份到網路共享

...期備份SQL資料庫。我們已經介紹了可以輕鬆地將所有SQL server資料庫備份到本地硬碟驅動器的方法,但這並不能防止驅動器和/或系統故障。作為針對此類災難的額外保護層,您可以在網路共享上覆制或直接建立備份。 本地備份...

  • 發佈於 2021-04-13 10:39
  • 閲讀 ( 50 )
psgq6110
psgq6110

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦