一、xp_cmdshell的啟用
xp_cmdshell 擴充套件儲存過程將命令字串作為作業系統命令 shell 執行,並以文字行的形式返回所有輸出。由於xp_cmdshell 可以執行任何作業系統命令,所以一旦sql server管理員帳號(如sa)被攻破,那麼***者就可以利用xp_cmdshell 在sql server中執行作業系統命令,如:建立系統管理員,也就意味著系統的最高許可權已在別人的掌控之中。由於存在安全隱患,所以在sql server 2005中, xp_cmdshell 預設是關閉的。
兩種方式啟用xp_cmdshell
1.開啟外圍應用配置器—>
功能的外圍應用配置器—>
例項名database enginexp_cmdshell—>
啟用2.sp_configure
-- 允許配置高階選項
exec sp_configure 'show advanced options', 1
go-- 重新配置
reconfigure
go-- 啟用xp_cmdshell
exec sp_configure 'xp_cmdshell', 0
go--重新配置
reconfigure
go--執行想要的xp_cmdshell語句
exec xp_cmdshell 'query user'
go--用完後,要記得將xp_cmdshell禁用(從安全角度安全考慮)
-- 允許配置高階選項
exec sp_configure 'show advanced options', 1
go-- 重新配置
reconfigure
go-- 禁用xp_cmdshell
exec sp_configure 'xp_cmdshell', 1
go--重新配置
reconfigure
二、開始備份
exec master..xp_cmdshell 'net use z: \\juwang\sqlbak 123456 /user:juwang\administrator'
//建立網路路徑對映:網路路徑,\\juwang\sqlbak;z:是對映網路路徑對應本機的碟符;juwang是遠端計算機的名稱(也可寫ip位址)。administrator是登入的使用者名稱,123456是登入使用者的密碼(最好寫成"123456")
backup database hjx to disk='e:\hjx_backup.bak ' with init
備份hjx資料庫,with init 覆蓋,noinit追加
exec master..xp_cmdshell 'copy e:\hjx_backup.bak z:'
複製hjx_backup.bak檔案到z:
exec master..xp_cmdshell 'del e:\hjx_backup.bak '
刪除本地備份檔案
exec master..xp_cmdshell 'net use z: /delete'
刪除網路對映盤z:
**:
SQL Server2005複製實現
一 準備工作 1 在發布伺服器上建立乙個共享目錄,作為發布快照檔案的存放目錄。例如 在d 盤根目錄下建資料夾名為pub 2 設定sql 發布伺服器和訂閱伺服器均設定 步驟 開啟服務 控制面板 管理工具 服務 右擊sqlserver agent 屬性 登入 選擇 此帳戶 輸入或選擇第一步中建立的win...
sqlServer2005遞迴的實現
create table items itemid varchar 5 not null primary key,itemname varchar 25 not null,other columns,e.g.unit price,measurement unit create table bom i...
SQL Server 2005 映象功能實現
這幾天為了解決資料庫的備份以及出現問題能夠在最快的時間內恢復的問題,用到了sql server 2005的資料庫映象功能,參考了園子裡一些文章,在區域網測試成功後就在伺服器上實施了。資料庫映象不一定要在域環境中實施,由於伺服器限制我沒有用見證伺服器,認證方式採用證書認證,據說採用證書認證是最容易成功...