將sqlserver資料庫備份到本地的方法。?

Tags: 資料庫, 備份,

本文介紹了備份資料庫到本地的方法,期間的部分內容來自於網際網路。如有侵權,請告知本人。

工具/原料

宿主機系統:win10_64bit,sqlserver2005客戶端

虛擬機器:vmware workstation12 pro,作業系統為xp,資料庫系統為sqlserver2005

方法/步驟

開啟 Microsoft sql server management Studio,連線資料庫。

將sqlserver資料庫備份到本地的方法。

在宿主機新建共享檔案,用來儲存備份的資料庫檔案。本次實驗選擇C:\databasebak資料夾。

輸入以下程式碼

USE masterEXEC sp_configure 'show advanced options', 1RECONFIGURE WITH OVERRIDEEXEC sp_configure 'xp_cmdshell', 1RECONFIGURE WITH OVERRIDEEXEC sp_configure 'show advanced options', 0RECONFIGURE WITH OVERRIDE

--2、使用變數進行備份declare @db sysnamedeclare @dbpath varchar(120)set @db='工資管理'--檔名根據資料庫名稱+日期YYYYMMDD+副檔名set @dbpath='C:\'[email protected]+convert(varchar(10),getdate(),112)+'.bak'--3、在sql中建個對映exec master..xp_cmdshell 'net use Y: \\本機ip\databasebak "本機登陸密碼" /user:本機ip\本機登陸使用者名稱'/* 說明: Y:是對映網路路徑對應本機的碟符 請修改【本機ip】為實際ip databasebak是我本機共享的資料夾 【本機登陸使用者名稱】是登陸的使用者名稱 "本機登陸密碼" 是【本機登陸使用者名稱】使用者的密碼,注意引號是英文半形*/--4、備份(@db是要備份的資料庫名稱)Backup Database @db To [email protected]、COPYdeclare @copypath varchar(200)set @copypath = 'copy '[email protected]+' Y:'select @copypathexec master..xp_cmdshell @copypath --6、刪除(這句可以去掉)declare @deletepath varchar(200)set @deletepath = 'del '[email protected] @deletepathexec master..xp_cmdshell @deletepath --7、完成後刪除對映exec master..xp_cmdshell 'net use Y: /delete'

--8、關閉xp_cmdshellUSE master EXEC sp_configure 'show advanced options', 1 RECONFIGURE WITH OVERRIDE EXEC sp_configure 'xp_cmdshell', 0 RECONFIGURE WITH OVERRIDE EXEC sp_configure 'show advanced options', 0RECONFIGURE WITH OVERRIDE

執行之後會在C:\databasebak資料夾中找到備份的資料庫。

在執行 EXEC sp_configure 'xp_cmdshell', 1報錯,需要手動開啟xp_cmdshell,步驟為:

1.遠端登陸資料庫所在的伺服器。

2.開啟【外圍應用配置器】,按照以下圖示進行操作。

將sqlserver資料庫備份到本地的方法。

將sqlserver資料庫備份到本地的方法。

注意事項

在執行 EXEC sp_configure 'xp_cmdshell', 1報錯,有可能是當前使用者無法執行這個系統儲存過程,遠端登陸這個資料庫,然後手動開啟這個選項。記得再關閉這個選項。

由於net use這個是個引起過很大的漏洞,請謹慎操作。

相關問題答案