2015-05-22 54 views
0

我使用SQL Server Management Studio生成數據庫生成的備份文件恢復了本地開發數據庫。我在該恢復上覆蓋了本地數據庫。從備份恢復數據庫後無法連接到數據庫

現在我無法使用SQL Squirrel連接到數據庫。造成這種情況的原因以及如何解決這個問題?謝謝。

我在登錄時出現錯誤「嘗試打開SQL連接時發生意外錯誤」。

堆棧跟蹤信息按鈕顯示如下:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "devdatabase_myname" requested by the login. The login failed. ClientConnectionId:[id] 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:206) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "devdatabase_myname" requested by the login. The login failed. ClientConnectionId:[id] 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:171) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104) 
    ... 5 more 
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "devdatabase_myname" requested by the login. The login failed. ClientConnectionId:[id] 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) 
    at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254) 
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) 
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) 
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) 
    at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167) 
    ... 7 more 
+0

缺少'GRANT's也許? – fantaghirocco

+0

您是否能夠從SQL Server Management Studio內部進行連接?如果你不能那麼你就知道這個問題可能是認證參數的一些變化。如果可以,請檢查數據庫名稱,用戶名,密碼,主機和端口是否與服務器的相匹配。 –

回答

1

有可能你有一個孤立用戶。如果您的數據庫用戶未正確映射到相同名稱的登錄名,則服務器將無法將您連接到正確的數據庫。你可以看到下面的文章以幫助排除故障

http://msdn.microsoft.com/en-us/library/ms175475%28SQL.100%29.aspx

+0

這是正確的。我有一個孤兒用戶,並能夠通過以下指示修復此問題:http://geekswithblogs.net/bullpit/archive/2010/04/21/user-already-exists-in-the-current-database--- sql-server.aspx問題解決了。 –