首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 危險擴展預存程序刪除與還原完整腳本

     編輯:關於SqlServer

為強化 SQL Server 2000 安全性,建議移除可呼叫 Shell、操作登錄、存取 COM 元件等高風險擴展預存程序。以下提供完整刪除與還原腳本,需以系統管理員帳號在「查詢分析器」執行。

刪除腳本(加強版)

use master
go
exec sp_dropextendedproc 'xp_cmdshell'          -- 呼叫命令列,極高風險
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'sp_OACreate'          -- OLE Automation 系列
exec sp_dropextendedproc 'sp_OADestroy'
exec sp_dropextendedproc 'sp_OAGetErrorInfo'
exec sp_dropextendedproc 'sp_OAGetProperty'
exec sp_dropextendedproc 'sp_OAMethod'
exec sp_dropextendedproc 'sp_OASetProperty'
exec sp_dropextendedproc 'sp_OAStop'
exec sp_dropextendedproc 'xp_regaddmultistring' -- 登錄操作系列
exec sp_dropextendedproc 'xp_regdeletekey'
exec sp_dropextendedproc 'xp_regdeletevalue'
exec sp_dropextendedproc 'xp_regenumvalues'
exec sp_dropextendedproc 'xp_regremovemultistring'
exec sp_dropextendedproc 'xp_regwrite'
drop procedure sp_makewebtask
go

⚠️ 謹慎刪除:以下三個擴展影響備份/還原/附加資料庫功能

-- exec sp_dropextendedproc 'xp_dirtree'      -- 刪除後無法新建/附加資料庫
-- exec sp_dropextendedproc 'xp_regread'      -- 刪除後還原資料庫輔助功能失效
-- exec sp_dropextendedproc 'xp_fixeddrives'  -- 刪除後無法還原資料庫

生產環境若需備份還原功能,請保留上述三個擴展,或於維護窗口臨時還原。

還原腳本(完整版)

use master
go
exec sp_addextendedproc 'xp_cmdshell',        'xplog70.dll'
exec sp_addextendedproc 'xp_enumgroups',      'xplog70.dll'
exec sp_addextendedproc 'xp_loginconfig',     'xplog70.dll'
exec sp_addextendedproc 'xp_enumerrorlogs',   'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails',  'xpstar.dll'
exec sp_addextendedproc 'sp_OACreate',        'odsole70.dll'
exec sp_addextendedproc 'sp_OADestroy',       'odsole70.dll'
exec sp_addextendedproc 'sp_OAGetErrorInfo',  'odsole70.dll'
exec sp_addextendedproc 'sp_OAGetProperty',   'odsole70.dll'
exec sp_addextendedproc 'sp_OAMethod',        'odsole70.dll'
exec sp_addextendedproc 'sp_OASetProperty',   'odsole70.dll'
exec sp_addextendedproc 'sp_OAStop',          'odsole70.dll'
exec sp_addextendedproc 'xp_regaddmultistring','xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey',    'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue',  'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues',   'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring','xpstar.dll'
exec sp_addextendedproc 'xp_regwrite',        'xpstar.dll'
exec sp_addextendedproc 'xp_dirtree',         'xpstar.dll'
exec sp_addextendedproc 'xp_regread',         'xpstar.dll'
exec sp_addextendedproc 'xp_fixeddrives',     'xpstar.dll'
go

操作建議

  1. 將刪除腳本複製到「查詢分析器」→「查詢」→「執行」。
  2. 刪除後測試應用功能,確認無業務影響。
  3. 如需還原,執行還原腳本即可。
  4. 定期審核 master..sysobjects 確認高危擴展未被重新註冊。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved