2011-01-31 136 views
1


我最近從我的一位同事恢復了一個數據庫到我的本地開發機器。 我以管理員身份登錄。我已將默認數據庫設置爲我嘗試連接的那個數據庫。我已經在SQL中爲Sql的用戶映射屏幕提供了管理員用戶的db_owner權限。Visual Studio數據庫比較工具淹沒 - SQL01270:無法打開數據庫

但是,當我運行SQL比較工具時,出現以下錯誤:
SQL01270:無法打開登錄請求的數據庫「[ADMIN-PC.VirginActive]」。登錄失敗。 登錄失敗,用戶管理員-PC \ ADMIN「

的SQL日誌文件顯示如下:
2011-01-31 10:49:20.28登錄錯誤:18456,嚴重性:14,狀態:38 2011-01-31 10:49:20.28用戶'admin-PC \ admin'登錄失敗。原因:無法打開顯式指定的數據庫。 [客戶:]

我查看過「錯誤:18456,嚴重性:14,狀態:38」。在googlemachine和我得到的反饋是用戶無法登錄到框。但是,用戶是admin用戶,是創建db的同一個用戶。

有關如何解決此問題的任何想法?

回答

0

這仍然是文件讀/寫權限的問題,請嘗試以管理員身份運行所有程序(如果運行vista/win7)並更改mdf文件的安全設置。

否則,嘗試以僅爲此目的創建的sql用戶身份進行連接。

1

今天我有同樣的問題。我發現的修補程序是,如果將數據庫的數據庫所有者更改爲另一個用戶(例如,我使用了「sa」),則可以在Visual Studio 2010數據庫架構比較中成功連接/進行更改。

要更改數據庫所有者,請右鍵單擊數據庫名稱並轉到文件...您的NT帳戶最有可能列在那裏(我的是)。將其更改爲「sa」或其他適當的內容,然後應用這些更改,然後重試。這對我有效。

3

我剛剛解決了同樣的問題,但它不是數據庫 - 它是架構比較文件本身(.SCMP)。

不知何故,我的SCMP在幾個關鍵位置獲得了數據庫名稱的完全限定的[machine.domain \ instance.database]表示。我在Notepad ++中打開了這個文件,並將其更改爲簡單名稱(在我的例子中只是'DW'),問題立即解決。

(「幾個關鍵位置」是:ConnectionBasedModelProvider內的DatabaseName以及TargetDatabaseName屬性的值。)