用户登录失败(Microsoft SQL Server,错误:4064)

时间:2018-08-13 07:14:11

标签: sql-server

我正在使用SQL Server2014。之前,我能够连接服务器数据库。但是无论如何,它停止了获取登录的权限,每当我尝试连接服务器数据库时,它都会显示错误消息,如下所示。

用户登录失败(Microsoft SQL Server,错误:4064)

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

错误:4064

select * from sys.messages where message_id = 4064
  

无法打开用户默认数据库。登录失败。

将默认数据库更改为master数据库或现有数据库。

答案 1 :(得分:1)

更新

当Windows或SQL Server登录名无法连接到分配给用户的默认数据库时,您可能最终会收到此错误。 要解决该错误,请执行以下步骤。

  

首先单击“连接到服务器”提示中的选项>>按钮。

First click on Option>> Button of “Connect to Server” Prompt.

  

现在将连接数据库更改为您的任何现有数据库   tempdb,msdb或master之类的服务器

enter image description here

  

现在单击连接,它将成功登录您。

一旦连接到SQL Server实例,请执行以下TSQL为登录名分配一个新的默认数据库。

Use master
GO

ALTER LOGIN [MonitorDB] WITH DEFAULT_DATABASE = TempDB
GO

答案 2 :(得分:1)

某些数据库用户默认删除数据库时会发生此错误。当用户尝试登录并删除其默认数据库时,将显示SQL错误4064。

要解决此问题,请连接到

  

SQL Server->单击选项   ->将连接到数据库更改为现有数据库

并运行以下命令:

ALTER LOGIN [xyz] WITH DEFAULT_DATABASE = master
GO

用您的用户名替换xyz,并用您的数据库名称替换master。

答案 3 :(得分:0)

我把它放在这里,以防其他人偶然发现。就我而言,需要打开SQL Profiler来查看发生了什么。我在程序的连接字符串中指定的与数据库服务器的连接工作正常。但是该查询与另一个链接的SQL Server上的表(由四部分组成的名称)联接在一起,并且删除了REMOTE服务器上的默认数据库。