无法打开用户默认数据库的解决方法

摘要:
无法打开用户默认数据库。首先,删除了登录帐户的默认数据库。(1) . 使用管理员帐户修改此帐户的默认数据库(2)。如果没有其他管理员登录帐户,则无法启动“N’master”“N’master'”(2)SQLServer,因为系统密码已更改。解决方案是使用sqlcmd实用程序更改默认数据库。

无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。

一、原因

登录帐户的默认数据库被删除。

二、解决方法:

(一)、使用管理员帐户修改此帐户的默认数据库

(二)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用issql命令行工具

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'"

(2)由于改变了系统密码导致SQLSErver无法启动

解决办法是:

点击运行,键入services.msc,打开服务程序,找到SQLSERVER项目,选择属性项之二-‘登录’,把登录密码改为操作系统Administrator帐户登录密码,重新启动SQLSErver,即可正常启动。

SQL Server 2005

在 SQL Server 2005 中,可以使用 sqlcmd 实用程序更改默认数据库。为此,请按照下列步骤操作:◆1. 单击“开始”,单击“运行”,键入 cmd,然后按 Enter。

◆2. 根据 SQL Server 登录使用的身份验证种类,请使用以下方法之一:
   ① 如果 SQL Server 登录使用 Microsoft Windows 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:

sqlcmd -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 登录访问的现有数据库的名称的占位符。 若您的SQLLogin 用户名有'-'字符,可能提示有语法错误(本人在操作中遇到的这个错误),这时可以改存储过程,如下所示:
    exec sp_defaultdb 'LoginName','DBName'
◆4. 在 sqlcmd 提示符处,键入 GO,然后按 Enter。

免责声明:文章转载自《无法打开用户默认数据库的解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win8.1 virtualbox 安装centos7注意事项C# 制作ActiveX控件并添加到网页下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用c++控制sqlite3

首先,到官网下载相关的压缩包 https://www.sqlite.org/download.html 但是要自己再重新编译一个, 博主自己收集了一下,密码:hixo https://pan.baidu.com/s/1Zdp0UMl2Mr4J2JUe28G7JQ 将该压缩包放在你想要放置的文件夹里,情况是这样的 然后在该路径下运行cmd,可以直接在地址栏...

java 将MySql数据库中的数据(某一列)取出放入数组中 转

转:http://blog.csdn.net/ewili/article/details/8605638 假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来: public void mysqlConnection(){ try { Class.forName("com.mysql.jdbc.Driver").new...

oracle数据库密码修改和解锁

oracle数据库密码修改步骤 1. 以root用户登录其中一台数据库服务器2. 执行如下命令扫描该服务器上存在多少个oracle或oracleN用户cat /etc/passwd 3. 执行命令su - oracle1切换到oracle1用户4. 执行命令./sqlplus / as sysdba连接数据库5. 执行命令select * from db...

数据可视化之DAX篇(二十八)Power BI时间序列分析用到的度量值,一次全给你

https://zhuanlan.zhihu.com/p/88528732 在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间智能函数的帮助,大大简化了这些计算,从而快速满足定期的报告需求。 下面就给你列出这些常用统计数据的度量值,帮你快速掌握各种期间数据的算法。   如果对时间智能...

快速开发框架jeesite

在详细介绍jeesite之前,先说下本人对它的看法, jeesite官方说法“高效、高性能、强安全性 完全于开源、JavaEE快速开发平台”;但是鄙人认为,说高性能并不十分确切。咱不说其他他的,就说简单的首页访问,就比较缓慢,后台响应速度也并不是很快。但是作为我这种刚出道的秋儿学习,确实绰绰有余,但是鄙人是金牛座,就是不能忍,目前正在尝试提高响应速度,后面...

Oracle安装

参考:https://blog.csdn.net/wudiyong22/article/details/78904361 一、Oracle下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。 路径名称中,最好不要出现中文,也不要出现空格等不规则字符。百度云盘:https://pan.baidu.com/s/14cBI8mAro7r...