2016-09-15 58 views
0

我有一個問題。爲什麼我不能使用vb.net在驅動器c中備份我的數據庫?驅動器C中的備份數據庫導致錯誤

這是錯誤消息框:

enter image description here

我的存儲過程,我將在vb.net執行

BACKUP DATABASE DatabaseNameTest TO DISK = '\\DSA02\Users\DSA_02\Source\Sample.BAK'

但如果我嘗試這個到另一個驅動器,如:

BACKUP DATABASE DatabaseNameTest TO DISK = '\\DSA02\DSA_02\Source\Sample.BAK'

它不會導致錯誤。

那麼爲什麼它在驅動器C我的代碼返回錯誤,而在另一個驅動器它不。 任何人都可以解決或幫助我解決這個問題嗎?

----------解決方案,我發現----------

注:不知道這是最好的答案/解決方案,但現在我可以節省我的備份文件在驅動器c中。

我配置文件夾在drive C User它將被保存。例如:C:\User\Destination我配置Destination文件夾

步驟:

Properties->Security Tab->Edit Button->Click Add->Enter object name like "Guest"->Click Check Names->Then OK->Then Click the newly added CompName/Guest field in "Group or Username"->Then Check All the Permission of Guest Except for Deny->Then OK.那麼這將現在允許你在drive C保存文件到其Destination Folder無需運行您的程序作爲管理員。

回答

0

您必須以管理員身份打開Visual Studio才能執行此操作。 然後,轉到項目協議並單擊查看Windows設置。您應該看到財產以後這樣的:關閉所有

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

,現在就開始爲管理員:

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

你應該改變這種聲明。問題是你不能在沒有管理員權限的C:/ dir中寫入。

+0

我不能複製你想說的話。在「項目屬性」中找不到「查看窗口設置」。'但是我找到了另一個解決方案看到我上面的編輯 – Muj

0

您在上面的消息框中列出了兩個目錄。既然你提到你在VB.net中做了這個,我猜你連接了一個字符串。

如果你做了這樣的事情:

BACKUP DATABASE DatabaseNameTest TO DISK = ' C:\Users\DSA_02\Source\Sample.BAK' 

你會得到這個錯誤。注意第一個單引號和C:\ Users部分之間的空格。

如果您將字符串連接到變量,請嘗試輸出結果來說出msgbox以查看它是否首先正確連接。

+0

我替換錯誤框。第一個錯誤是服務器sql無法訪問我的驅動器c,所以我將其替換爲\\計算機名稱等。看到我上面的新錯誤 – Muj