這是我在使用Visual Studio 2008開發平台時遭遇的報錯。這個錯誤是在服務器資源管理器中添加連接,加載數據庫文件時發生的錯誤。
什么鬼???當時很納悶,我以前從來沒見過這樣的奇葩問題啊?一直都是順利通過啊?我百度了一下,網上有些說法,什么什么“登錄超級管理員刪除Local/AppData/。。。。bla bla bla……文件夾,重啟就可以啦”什么的,我費半天勁照做了,毛用也不管。不知道是我人品欠費了,還是這一招本來就不太靈,然后又讓一大堆人直接抄過去了。
好吧,自力更生,豐衣足食。下面開始分析。首先說明一下,我當時用的是Win10系統,VS是2008版本,數據庫是VS附帶的2005 Express版。
我仔細回憶了一下我慘遭報錯的經過,發現我在之前操作的過程中存在一個細節,就是我把項目復制的一份副本到另一個文件夾下,順便也把數據庫復制過去了一份。
其實問題就出在這里,並不是什么嚴重問題,這個報錯恰恰出在了一個非常基本的點——權限上了。
沒復制數據庫之前,數據庫是我創建的,所以權限都在我這,妥妥的。但是我手動復制文件之后,權限就很難歸我了——事實就是如此,點開屬性,點“安全”選項卡,點自己的用戶,看下面的權限,想必就什么都明白了——此時的這個文件,我並沒有控制它的權限。遂改之。再試,過矣。
總結:當看到上述報錯時,如果之前手動復制了數據庫文件,需修改MDF和LDF兩個文件屬性,將控制權限據為己有,即可正常連接,完美如初。
順便提一句,有些時候在添加連接時,數據源選擇Microsoft SQL Server,加載數據庫文件時總是出問題:
1、這有可能是在給數據庫起邏輯名時出的問題,嘗試將邏輯名去掉留空白再試;
2、不按上述方法執行,直接更改數據源,選擇“Microsoft SQL Server數據庫文件”,直接加載MDF文件,能解決的希望也很大,但是不如上述方法那么完美。