Windows身份验证的SQL数据库问题

时间:2010-05-31 13:07:00

标签: sql sql-server sql-server-2008 windows-authentication

有一个我连接到Windows身份验证的SQL Server 2008数据库..已经工作了7-8个月..但是现在当我今天上班时它不再工作连接,没有我做了什么 错误消息是:

无法打开用户默认数据库。登录失败。 用户'Jimmy-PC \ Jimmy'登录失败。

其中第一个是计算机名称,第二个是用户。问题似乎是它尝试连接到默认数据库。试图改变它没有成功..我没有sql 2008的sql server管理工具,但只有2005年,有类似经验的人?谁没有触及任何在周末说的话,上周五没有任何问题。

2 个答案:

答案 0 :(得分:0)

很奇怪它刚停止工作。您是否检查了用户默认数据库的状态?确保数据库存在且处于联机状态。

要查找用户的默认数据库,请使用sqlcmd.exe运行以下命令

select dbname from syslogins where name = 'Jimmy-PC \ Jimmy'

我在恢复系统时看到了这个错误,用户的默认数据库尚未恢复,而另一次数据库处于“恢复”模式时也是如此。

我还要确保未禁用Windows帐户。

如果您发现需要更改用户的默认数据库,可以使用T-SQL命令,请参阅以下问题:

How do I set the default database in Sql Server from code?

答案 1 :(得分:0)

用户的默认数据库处于脱机状态。自昨天以来发生了变化的事情是,无论出于何种原因,您的数据库都已失败。

您需要使用其他帐户登录,该帐户没有默认数据库,并检查数据库的状态。如果您没有此类帐户,则可以使用管理员帐户。如果未授予管理员组登录到SQL Server,请参阅此文章Troubleshooting: Connecting to SQL Server When System Administrators Are Locked Out

一旦您可以登录,您需要的唯一工具是sqlcmd.exe,它安装在您的计算机上。查看sys.databases,state_desc列将告知数据库是否脱机。您可以尝试使用ALTER DATABASE ... SET ONLINE并查看它是否会恢复,但这不太可能。您最好的选择是应用灾难恢复计划,并从为其保留的备份中恢复数据库。