当我想连接到SQL Server 2008时,我收到以下消息:
无法连接到服务器 附加信息:无法打开用户默认数据库。登录失败。用户'sa'登录失败。 (Microsoft SQL Server。错误:4064)
如何解决此错误?
答案 0 :(得分:28)
当删除的数据库是某些数据库用户的默认数据库时,会发生此错误(Microsoft SQL Server.Error:4064
)。
当用户尝试登录并删除其默认数据库时,会显示错误。
无法打开用户默认数据库。登录失败。用户登录失败 '用户名'。 (Microsoft SQL Server,错误:4064)
解决此问题的方法是here,总结如下。
登录的解决方案是:
修复服务器的永久解决方案是运行SQL,如:
ALTER LOGIN [test] WITH DEFAULT_DATABASE = master
GO
答案 1 :(得分:2)
在我的情况下,这是由于用户是多个组的成员,每个组都有自己的登录。所有组的登录都需要将其默认数据库设置为用户可访问的数据库。
https://support.microsoft.com/en-us/kb/307864列出了其他可能的问题。
您可以使用无效的默认数据库设置每个登录,以使默认的master数据库(所有登录都可访问):
<!DOCTYPE html>
<html>
<body>
<p id="display"></p>
<script>
var i;
for(i=0; i<11; i++){
var disp = "the number is " + i;
// This just writes to the javascript console
console.log(disp);
// This writes in the #display element on your page
document.getElementById("display").innerHTML += disp + '<br>';
}
</script>
</body>
</html>
答案 2 :(得分:0)
用户默认数据库在连接时不可用,以便弹出此错误消息.SO检查您标记给该特定用户的服务器,以便访问该服务器是在线还是离线模式。