刪除SQL Server2000中的SA使用者
關鍵字: sql server, mssql, sql
眾所周知,在SQL中有個絕對是網路安全中的隱患的帳號sa,系統管理員 (sa),預設情況下,它指派給固定伺服器角色 sysadmin,並不能變更。這個sa一般情況下是既不可以更改名稱,也不可以刪除,呵呵,有點雞肋的味道,棄置可惜,食之無味。在我裝上 SQL Server 2000之後,始終都不放心,擔心有一天被人破出密碼,可能你會說設個強壯點的密碼,這個辦法是可行,但也不是十分穩妥,所謂斬草要除根,要是把sa給刪拉就不用擔心那些"駭客"暴力破解拉。
呵呵,前面說拉那麼半天廢話,可能你已經看的不耐煩拉,好,這就說道正題,首先開啟SQL中的企業管理器,接著在工具選項卡中選擇SQL server配置屬性依次,點伺服器設定,看到允許對系統目錄直接進行修改前面的方框嗎,點一下,好。
再開啟查詢分析器,登陸進去(呵呵,隨便你用什麼帳號進去,不過可一定要在master資料庫中有db_owner的許可權)輸入:
update sysxlogins set name=’你要改成的名字’ where sid=0x01update sysxlogins set sid=0xE765555BD44F054F89CD0076A06EA823 where name=’你要改成的名字’ |
OK,執行成功,好拉,轉道企業管理器中重新整理安全性中的登陸,看看,sa是不是變成xwq拉,呵呵,選中xwq點擊右鍵,怎麼樣是不是出現拉刪除的選項,呵呵,刪除。看看sa是不是已經沒有拉。
直接在查詢分析器裡怎麼刪除sa,做法和前面所說的差不多,只不過這次不是在企業管理器中做手腳拉,而是利用sql提供給我們功能強大的預存程序來完成這項任務。下面就是我所說的需要利用的預存程序sp_configure,sp_configure顯示或更改當前伺服器的全域配置設定。
它的文法: sp_configure [ [ @configname = ] ’name’ ][ , [ @configvalue = ] ’value’ ]執行個體:sp_configure ’allow updates’, 1goRECONFIGURE WITH OVERRIDEgo |
好拉,這樣我們就可以更新系統資料表拉,接下來和前面的做法一樣拉 update sysxlogins set name=’你要改成的名字’ where sid=0x01,然後再刪除"你改名後的那個名字"
不過要注意在 sp_configure 上沒有參數(或只有第一個參數)的執行許可許可權預設授予所有使用者。有兩個參數的 sp_configure(用於更改配置選項)的執行許可許可權預設授予 sysadmin 和 serveradmin 固定伺服器角色。RECONFIGURE 許可權預設授予 sysadmin 固定伺服器角色和 serveradmin 固定伺服器角色,並且不能傳輸