MSSQL2005遠端備份資料庫

2021-04-26 06:34:12 字數 1696 閱讀 5251

原理:新增網路驅動器對映,將備份檔案備份到遠端目標,最後刪除網路驅動器對映。

xp_cmdshell 擴充套件儲存過程將命令字串作為作業系統命令 shell 執行,並以文字行的形式返回所有輸出。由於xp_cmdshell 可以執行任何作業系統命令,所以一旦sql server管理員帳號(如sa)被攻破,那麼攻擊者就可以利用xp_cmdshell 在sql server中執行作業系統命令,如:建立系統管理員,也就意味著系統的最高許可權已在別人的掌控之中。由於存在安全隱患,所以在sql server 2005中, xp_cmdshell 預設是關閉的。

sp_configure儲存過程用於顯示或更改當前伺服器的全域性配置設定。

操作步驟:

1.執行net share sharename=driver:/directory /unlimited,共享目錄

2.將下面的文字儲存在remotebackup.sql中,修改相應的目錄及資料庫名稱

--開啟高階設定

exec sp_configure 'show advanced options', 1

reconfigure

--開啟xp_cmdshell擴充套件儲存過程

exec sp_configure 'xp_cmdshell', 1

reconfigure

declare @strdirname varchar(100)   --目標檔名稱

declare @remotepathstr varchar(100)   --遠端路徑名

declare @localpathstr varchar(100)    --本機路徑名

declare @dbname varchar(100)  --待備份資料庫名稱

set @dbname='dutysystem'

--設定待備份資料庫名稱

set @strdirname=@dbname+replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')

--設定備份檔案名

set @remotepathstr = 'z:/'+@strdirname+'.bak'   --設定遠端備份儲存目標

--新增網路驅動器對映

exec master..xp_cmdshell 'net use z: //備份機ip/資料夾名(或碟符$) "password" /user:備份機ip/登入身份(得擁有備份路徑的寫許可權)'

--實施備份

backup database @dbname to disk=@remotepathstr

--刪除對映

exec master..xp_cmdshell 'net use z: /delete'

--關閉xp_cmdshell擴充套件儲存過程、高階設定

exec sp_configure 'xp_cmdshell', 0

reconfigure

exec sp_configure 'show advanced options', 0

reconfigure

3.執行sqlcmd -s mssql伺服器/例項名,1433 -p 登陸名 -u 密碼 -d master -i  路徑/remotebackup.sql

4.net share backup /del,關閉目錄的共享

MSsql2005如何啟用xp cmdshell

預設情況下,sql server2005安裝完後,xp cmdshell是禁用的 可能是安全考慮 如果要使用它,可按以下步驟 允許配置高階選項 exec sp configure show advanced options 1 go 重新配置 reconfigure go 啟用xp cmdshell...

MS SQL 2005 儲存過程簡介

儲存過程介紹 1,儲存過程,是在資料庫伺服器端執行的一組 transact sql 語句的集合,經編譯後存放在資料庫伺服器中。2,儲存過程作為乙個單元進行處理並由乙個名稱來標識。它能夠向使用者返回資料 向資料庫表中寫入和修改資料,還可以執行系統函式和管理操作。在程式設計過程中只需要給出儲存過程的名稱...

thinkphp連線mssql2005配置

這裡的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的php版本是執行緒安全的,那麼你的php安裝目錄下應該有乙個php5ts.dll,與這裡的兩行語句對應,如果是php5nts.dll,那麼上面的語句應該是 php pdo sqlsrv extension php pdo sql...