2010-05-31 78 views
1

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

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

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

回答

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?

+0

首先,如果默认的数据库是哪一个?也..我无法连接到任何数据库使用SQL Server管理工具。它说,它只处理2000年和2005年的数据库..我无法找到如何做到这一点在2008版本模拟...我不使用任何登录到Windows我只有1个帐户,因此它不应该是 – Jimmy 2010-06-01 06:15:07

+0

@Jimmy,我有将sql添加到我的答案中以查找用户的默认数据库。一旦找到用户的默认数据库,请按照@Remus Rusanu的建议来确定数据库状态。 – 2010-06-01 12:52:04

0

用户的默认数据库脱机。自昨天以来发生的变化是您的数据库出于任何原因失败了。

你需要使用不同的帐户,一个不具有默认的数据库登录,并检查数据库的状态。如果您没有这样的帐户,那么您可以使用管理员帐户。如果管理员组未被授予登录SQL Server的权限,则请参阅此文章Troubleshooting: Connecting to SQL Server When System Administrators Are Locked Out

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

+0

我无法访问任何帐户,我只认为我有1 ...也许如果我从sqlcmd创建一个新帐户,但我不知道如何做到这一点。 也..我无法管理我的数据库与我的SQL服务器管理工​​具bcuz他们是为SQL服务器2005年和更早..无法找到适当的收费2008年...从目录删除数据库,并把备份..但问题依然存在。 – Jimmy 2010-06-01 06:17:30