卸載VS2011 Developer Preview后Sql Server2008 R2建立數(shù)據(jù)庫(kù)關(guān)系圖報(bào)“找不到指定的模塊”錯(cuò)誤的解決方法
可憐我的C盤(pán)本來(lái)只有8.XG,所以不得不卸載掉它。
卸載掉本身沒(méi)啥問(wèn)題,只是昨晚突然發(fā)現(xiàn) Sql Server 2008 R2 Management Studio 突然不能新建數(shù)據(jù)庫(kù)關(guān)系圖了,一建立就會(huì)報(bào)“找不到指定的模塊(MS Visual Database Tools)”的錯(cuò)誤:
為了這個(gè)錯(cuò)誤我甚至認(rèn)真評(píng)估了重新配置數(shù)據(jù)庫(kù)的可能性。無(wú)奈這個(gè)R2的SQL2008打過(guò)SP1了,無(wú)論是修復(fù)還是重裝都是很花時(shí)間的事情,所以不甘心,在Google上找了一圈。終于找到個(gè)類(lèi)似的主題反應(yīng)了這個(gè)問(wèn)題。是位國(guó)際友人報(bào)告的,標(biāo)題是“SQL Server 2008 R2 - "Specified Module cannot be Found. (MS Visual Database Tools)"”,其實(shí)是一樣的錯(cuò)誤(他的是英文版……)??上н@個(gè)主題中表示同樣遭遇這個(gè)問(wèn)題的人雖然不少,但是他們終究沒(méi)找到解決方案。
根據(jù)他們的經(jīng)驗(yàn),下面的方法已經(jīng)確認(rèn)是無(wú)效的:
重裝 SQL2008 (我想包括了修復(fù))
重裝 .net framework 3.5
重裝VS2010和VS2010 SP1
他們并沒(méi)有討論出個(gè)所以然來(lái)。如果非說(shuō)他們有進(jìn)度的話,那就是其中的一個(gè)哥們兒選擇了『重裝系統(tǒng)』來(lái)一了百了……
作為一個(gè)Win7正式發(fā)布后就沒(méi)重裝過(guò)系統(tǒng)的人來(lái)說(shuō),這樣的解決方案確實(shí)有點(diǎn)兒……無(wú)法接受。
2.還是自己解決吧。
具體查找原因的過(guò)程略……其實(shí)就是用Process Monitor觀察創(chuàng)建關(guān)系圖時(shí)的加載操作,看看哪些是失敗的,說(shuō)出來(lái)又是巴拉巴拉一堆流水賬,不說(shuō)也罷。最終找到的原因是:『找不到 msvcr11.dll 』。
明眼人一看就知道這是 VS2011 中的附帶的VC運(yùn)行時(shí),但為什么卸載VS2011后SQL Server 2008R2 還需要它,這個(gè)問(wèn)題也許只有微軟能解釋了。(說(shuō)不定是VS2011更新了SQL2008 R2也使用的共享組件?)
既然知道原因了,那就很簡(jiǎn)單了。在VS2011 Developer Preview的安裝包中找到“packages\vcRuntimeMinimum_x86\vcRuntimeMinimum_x86.msi”安裝一下就行了。64位系統(tǒng)說(shuō)不定把“packages\vcRuntimeMinimum_amd64\vcRuntimeMinimum_amd64.msi”也裝一下更好一點(diǎn)。這樣說(shuō)來(lái),回想起來(lái)我卸載VS2011的時(shí)候是把附帶的組件想當(dāng)然地覺(jué)得也是不需要的所以給一并刪除了??磥?lái)刪除有風(fēng)險(xiǎn)刪除需謹(jǐn)慎啊,有些東西真的不是你想刪,想刪就能刪的。哎。
相關(guān)文章
使用BULK INSERT大批量導(dǎo)入數(shù)據(jù) SQLSERVER
使用BULK INSERT大批量導(dǎo)入數(shù)據(jù) SQLSERVER,需要的朋友可以參考下。2011-12-12Sql Server Management Studio連接Mysql的實(shí)現(xiàn)步驟
本文主要介紹了Sql Server Management Studio連接Mysql的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表
近段時(shí)間,MS SQL方面,一直需要開(kāi)發(fā)動(dòng)態(tài)方面的存儲(chǔ)過(guò)程或是觸發(fā)器以及表函數(shù)。因?yàn)槌绦蛟O(shè)計(jì)一開(kāi)始就是讓用戶(hù)動(dòng)態(tài)添或是刪除一個(gè)表的字段,然而這個(gè)表的相關(guān)存儲(chǔ)過(guò)程或是觸發(fā)器以及為報(bào)表準(zhǔn)備的表函數(shù)也會(huì)隨之這個(gè)表的字段變化而變化2012-01-01在SQL Server中遷移數(shù)據(jù)的幾種方法
這篇文章主要介紹了在SQL Server中遷移數(shù)據(jù)的幾種方法,本文給出了6種方法來(lái)移動(dòng)、遷移SQL Server中的數(shù)據(jù),需要的朋友可以參考下2014-08-08mssql和sqlite中關(guān)于if not exists 的寫(xiě)法
本文介紹下sql server查詢(xún)中,有關(guān)if exists與if not exists關(guān)鍵字的用法,有需要的朋友參考下2014-04-04sqlserver中存儲(chǔ)過(guò)程的遞歸調(diào)用示例
這篇文章主要介紹了sqlserver中存儲(chǔ)過(guò)程的遞歸調(diào)用示例,本文直接給出示例代碼,需要的朋友可以參考下2015-07-07