
其实这说起来还是满复杂的```你这要是看不懂的话``我看你就叫些专业人士来搞吧```你这问题我是按下面漫漫试,试好的
连接到 SQL Server 的实例时收到错误消息:“Cannot open user default database”(无法打开用户默认数据库)
全文原因
用户默认数据库在连接时不可用。这可能是因为该数据库: • 处于可疑模式。
• 不再存在。
• 处于单用户模式,并且唯一可用的连接已由其他用户或事物使用。
• 已被分离。
• 已设置为 RESTRICTED_USER 状态。
• 处于脱机状态。
• 设置为紧急状态。
• 不具有映射到用户的登录帐户,或者该用户已被拒绝访问。
此外,该登录帐户可能是多个组的成员,且其中一个组的默认数据库在连接时不可用。
SQL Server 2005
在 SQL Server 2005 中,可以使用 sqlcmd 实用程序更改默认数据库。为此,请按照下列步骤 *** 作: 1 单击“开始”,单击“运行”,键入 cmd,然后按 Enter。
2 根据 SQL Server 登录使用的身份验证种类,请使用以下方法之一: • 如果 SQL Server 登录使用 Microsoft Windows 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:
sqlcmd –E -S InstanceName –d master
• 如果 SQL Server 登录使用 SQL Server 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:
sqlcmd -S InstanceName -d master -U SQLLogin -P Password
注意:InstanceName 是要连接到的 SQL Server 2005 实例的名称的占位符。SQLLogin 是已删除其默认数据库的 SQL Server 登录的占位符。Password 是 SQL Server 登录密码的占位符。
3 在 sqlcmd 提示符处,键入以下内容,然后按 Enter:
Alter LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName
注意:AvailDBName 是可由实例中 SQL Server 登录访问的现有数据库的名称的占位符。
4 在 sqlcmd 提示符处,键入 GO,然后按 Enter。
SQL Server 2000 和 SQL Server 70
在 SQL Server 2000 和 SQL Server 70 中,可以使用 osql 实用程序更改默认数据库。为此,请按照下列步骤 *** 作: 1 在命令提示符处,键入以下内容,然后按 Enter:
C:\>osql -E
2 在“osql”提示符处,键入以下内容,然后按 Enter:
1>sp_defaultdb 'user's_login', 'master'
3 在第二个提示符处,键入以下内容,然后按 Enter:
2>go
更简单明了的:
无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。
一、原因
登录帐户的默认数据库被删除。
二、解决方法:
(1)、使用管理员帐户修改此帐户的默认数据库
1、打开企业管理器,展开服务器组,然后展开服务器
2 展开"安全性",展开登录,右击相应的登录帐户,从d出的菜单中选择,属性
3、重新选择此登录帐户的默认数据库
(2)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用isql命令行工具
isql /U"sa" /P"sa的密码" /d"master" /Q"exec sp_defaultdb N'sa', N'master'"
如果使用Windows验证方式,使用如下命令:
isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'"
注:上述isql命令可以直接在命令提示符下输入。
第二篇:
无法打开用户默认数据库 登录失败
无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。
一、原因
登录帐户的默认数据库被删除。
二、解决方法:
(一)、使用管理员帐户修改此帐户的默认数据库
1、打开企业管理器,展开服务器组,然后展开服务器
2 展开"安全性",展开登录,右击相应的登录帐户,从d出的菜单中选择,属性
3、重新选择此登录帐户的默认数据库
-- 登录都没法,安全性节点似乎没法打开。
(二)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用isql命令行工具
isql /U"sa" /P"sa的密码" /d"master" /Q"exec sp_defaultdb N'sa', N'master'"
如果使用Windows验证方式,使用如下命令:
isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'"
参考:微软中文知识库文章:如何解决 SQL Server 2000 中的连接问题
地址:>
网址1:>
网址2:>
另,附图两张。
以上希望能帮助到你。
以下几种情况下是不能分离数据库的
已复制并发布数据库。 如果进行复制,则数据库必须是未发布的。 必须通过运行 sp_replicationdboption 禁用发布后,才能分离数据库。
数据库中存在数据库快照。
必须首先删除所有数据库快照,然后才能分离数据库。 有关详细信息,请参阅删除数据库快照 (Transact-SQL)。
该数据库正在某个数据库镜像会话中进行镜像。
数据库处于可疑状态。 无法分离可疑数据库;必须将数据库设为紧急模式,才能对其进行分离。
数据库为系统数据库。
具体情况参阅以下链接:>
以前没有备份吗?
没有的话看看这个,或许对你有用。。。
SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)
1、正常的备份、SQL数据库恢复方式
正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:Sp_detach_db 数据库名
连接数据库的命令:Sp_attach_db或者sp_attach_single_file_db
s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,16]
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正确恢复SQL Sever70和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。
例子:
假设数据库为test,其数据文件为test_datamdf,日志文件为test_logldf。下面我们讨论一下如何备份、恢复该数据库。
卸下数据库:sp_detach_db 'test'
连接数据库:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_logldf'
sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdf'
2、只有mdf文件的恢复技术
由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。(此文章由飞客数据恢复中心搜集>
实例就是一个名称
比如你安装好数据库默认的实例名称是:sql
server
(mssqlserver)
可以是主机名,也可以是ip地址,这样连接的是安装时的默认实例。
如果实例名不是默认的,比如:sql2
如果有其它的名称,可以使用
"\\主机名\sql2"或者"\\ip\\sql2"
一、Report Server数据库:
是一个SQL Server数据库。它能够存储SSRS配置部分,报告定义,报告元数据,报告历史,缓存政策,快照,资源,安全设置,加密的数据,调度和提交数据,以及扩展信息。
注意事项:尽管用户能够直接存取在SSRS目录下的数据库并且能够直接修改SSRS使用的对象;但在实践中,不推荐(或不支持)这样做,因为在SSRS目录下的内在数据和结构不能被保证与不同版本的SSRS、服务包或补丁相兼容。
需要把Report Server数据库当作产品数据库之一来对待。尽管许多开发人员都习惯把RDL存储在一个单独的仓库中,并因此导致经常恢复RDL。但是,损失快照数据能够带来消极的业务影响。
例如,用户可能使用快照的报告"相对静止"数据的能力来作一些业务决定。
二、ReportServerTempDB数据库:
是SSRS使用的临时数据库。这个数据库负责存储中间处理结果,例如报表服务器生成的会话和执行数据、缓存报表以及工作表。
正常情况下,Report Server能够周期性地清ReportServerTempDB中的到期的和孤立的数据。后台进程定期清理时间间隔由参数CleanupCycleMinutes控制,这个参数位于
<Installation Drive>\<Program Files or Program Files(x86)>\Microsoft SQL Server\<SSRS
Instance>\Reporting Services\ReportServer 下的rsreportserverconfig配置文件中。
在桌面双击“SQL Server 2008R2”的图标,点击进入它的管理界面,开始我们的附加之旅,如图所示~
来带“SQL Server 2008R2”的登陆验证界面,输入自己之前设定的用户名密码即可,一般是默认的用户名,直接选择登陆即可,如图所示~
验证登陆后的界面,在里面找到“数据库”菜单,右键这个选项,找到“附加数据库”,点击这个选项,如图所示~
来到“附加数据库”的界面,点击“添加”按钮,即可跳转到本地电脑里面的文件选择项,如图所示~
在自己的本地电脑里面找到刚刚需要附加的数据库文件,找到“mdf”文件,点击附加即可~
添加完毕自己的数据库后,点击”确定“即可,很简单的 *** 作步骤,如图所示~
如图所示,很简单地我们就附加到我们的数据库里面了。这步我们是在数据库附加没有问题的基础上,假如你的数据库有问题,那又另当别论了,需要找到对应的问题再去调整,请读者根据自己的实际情况来进行调整~
以上就是关于打开sql数据库提示被使用全部的内容,包括:打开sql数据库提示被使用、SQL 2008 可疑状态,数据库好像损坏了、sql数据库不能附加和分离怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)