2012-04-04 126 views
12

当我要连接到SQL Server 2008,我得到这个消息:错误登录到SQL Server

Cannot connect to server.
Additional Information: Cannot open user default database. Login failed. Login fail for user 'sa'. (Microsoft SQL Server. Error:4064)

如何解决这个问题?

回答

25

当删除的数据库是某些数据库用户的默认值时,会发生此错误(Microsoft SQL Server.Error:4064)。

当用户尝试登录并且其默认数据库被删除时,显示错误。

Cannot open user default database. Login failed. Login failed for user ‘UserName’. (Microsoft SQL Server, Error: 4064)

来解决这个问题的方法是给here,总结如下。

解决登录为:

  1. 连接到服务器对话框中,单击选项变化值连接的
  2. 数据库:任何有效的数据库服务器

修复服务器的永久性解决方案是运行SQL,如:

ALTER LOGIN [test] WITH DEFAULT_DATABASE = master 
GO 
+3

只要用户的默认数据库也处于脱机状态,就会发生此错误。 – Morv 2013-05-27 16:00:04

2

在我的情况下,这是由于用户是多个组的成员,每个组都有自己的登录。所有组的登录都需要将其默认数据库设置为用户可访问的数据库。

其他可能的问题列在https://support.microsoft.com/en-us/kb/307864

您可以设置每个登录有一个无效的默认数据库有主的默认数据库(访问所有的登录):

alter login [loginname] with DEFAULT_DATABASE = master 
0

用户默认数据库在连接时不可用,那么这个错误消息将弹出.SO检查您标记给该特定用户的服务器以访问它是在线还是离线模式。