SQL Server數據庫生產環境DBA的7個技巧全集
此文章主要向大家講述的是適用于SQL Server數據庫生產環境DBA的7個技巧,我們大家都知道由于SQL Server數據庫的普及程度十分的高,隨之也出現了大量的相關輔助工具,讓DBA感覺眼花繚亂,為了避免在這些工具堆中不知所措。
本文將向那些管理生產系統的DBA提供一些工具選擇及使用方面的技巧,讓他們的工作變得更簡單。
1、使用forfiles命令刪除陳舊的數據庫備份文件
從Windows Server 2003開始forfiles命令就是Windows的一個自帶命令行工具,它主要用于對文件的批處理,利用SQL Server代理作業,加上這個工具,可以刪除SQL Server陳舊的數據庫備份文件,以往這個工作一般都依賴于SQL Server維護計劃、xp_cmdshell擴展存儲過程,或VBScript對象。下面的forfiles命令刪除了E:\sqlbackup文件夾下兩天及兩天以前的所有.bak文件。
forfiles /p "e:\sqlbackup" /m "*.bak" /c "cmd /c del /Q @path" /d -2關于forfiles的具體用法請查看其命令行幫助說明。
2、使用ALTER USER WITH LOGIN修復孤兒登錄
從SQL Server 2005 SP2開始,T-SQL的ALTER USER命令就包含了WITH LOGIN子句,這個子句通過修改數據庫用戶的SID為服務器登錄的安全標識符修復孤兒登錄,它可以同時修復Windows和SQL Server登錄的功能。
從另一個服務器恢復數據庫,登錄是獨立的創建的(不是從其它服務器復制過來的),這個時候創建的就是孤兒用戶。關于ALTER USER WITH LOGIN的詳細情況,請參考Laurentiu Cristofor的博客文章"SQL Server 2005:SP2中的一些新特性",或者參考SQL Server在線電子書中關于ALTER USER命令的頁面。
3、使用sp_addsrvrolemember將自己提升為sysadmin角色
在SQL Server 2005中,默認情況下,Windows內置的Administrators組沒有授予它sysadmin角色,作為Windows系統管理員,你可以講 SQL Server啟動到單用戶模式(即維護模式),然后在Sqlcmd命令行環境中運行sp_addsrvrolemember系統存儲過程,將你的 Windows登錄用戶添加到sysadmin角色。
更多信息請參考Raul Garcia的博客文章"災難恢復:SQL Server 2005中SA賬號密碼丟失時該怎么辦"
4、使用PortQryUI排除連接故障
為了解決TCP/IP連接問題,可以選擇微軟提供的PortQryUI工具,這個工具和PortQry一樣好用,其實它就是在PortQry外面套了一層外衣,它內置了一些服務,如一組端口掃描,包括UDP 1434和TCP 1433端口。
因此,要檢查這些端口的話,只需要輸入目標SQL Server數據庫實例的IP地址或完全限定域名(FQDN)即可,如果檢查到端口可訪問,PortQryUI就會告訴你端口正在監聽,否則,它會告訴你端口可能被過濾掉了,或者沒有監聽。可以從http://www.microsoft.com/downloads /details.aspx?FamilyID=8355e537-1ea6-4569-aabb-f248f4bd91d0& displaylang=en下載這個好用的工具。
5、在大型數據庫上運行DBCC CHECKDB時采用不同的策略
由于數據庫越變越大,使用諸如T-SQL的DBCC CHECKDB命令行工具檢查數據庫的完整性將會耗費很長時間。如果執行DBCC CHECKDB時超出了分配的維護窗口周期該怎么辦?Paul S. Randal在他的博客中提供了幾種方法(博客鏈接:http://sqlskills.com/BLOGS/PAUL/post/CHECKDB- From-Every-Angle-Consistency-Checking-Options-for-a-VLDB.aspx),其中一個解決辦法就是一臺獨立的服務器上使用備份還原數據庫,然后再在這個服務器上運行DBCC CHECKDB,另一個解決辦法就是設置數據庫的頁面驗證選項(從CHECKSUM改為PHYSICAL_ONLY),然后再運行DBCC CHECKDB,這樣運行DBCC CHECKDB的時間就大大減小了,但它仍然會影響I/O子系統和頁面腐化。
6、使用導入包選項將SQL Server集成服務(SSIS)部署到msdb數據庫上
SSIS有多種部署方法,最簡單的方法是將SSIS部署到SQL Server的msdb數據庫下,在In SQL Server Management Studio (SSMS)中,連接到集成服務,在存儲包下,在MSDB文件夾上點擊右鍵,然后選擇導入包,在彈出的對話框中,選擇SSIS包的當前位置和名字,根據服務器存儲和訪問控制角色設置保護級別,然后點擊確定按鈕。
手動拷貝與SSIS包相關的所有XML配置文件到目標服務器,如果這個包使用SQL Server配置,在導入之前,可能需要使用正確的服務器名更新連接SQL Server的連接字符串。詳細信息請參考SQL Server在線電子書中的"如何使用集成服務服務導入包"頁面。
7、使用SQL Server 2008的本地服務器組和中央管理服務器同時查詢多個服務器
在SQL Server 2008中,你可以使用本地服務器組快速連接到那些你經常管理的服務器,也可以使用中央管理服務器來存儲服務器的注冊元數據,這樣團隊成員就可以使用相同的注冊信息,可以包括SQL Server 2008、SQL Server 2005和SQL Server 2000服務器。
在SSMS中,可以查詢本地服務器組或中央管理服務器中的服務器,并可以合并查詢結果,進入SSMS已注冊服務器窗口,在本地服務器組或中央管理服務器上點擊右鍵,選擇新建查詢,在查詢編輯器中,輸入T-SQL命令,點擊執行,將會得到一個包含兩列的結果集,第一列包括每個服務器的名字,第二列就是從該服務器的命令輸出內容。詳細信息請參考SQL Server在線電子書中的"如何對多個服務器同時執行語句(SQL Server數據庫管理控制臺)"。
原文標題:適用于SQL Server生產環境DBA的七大技巧
連接:http://www.cnblogs.com/ylqmf/archive/2010/05/24/1742854.html
【編輯推薦】