我在本地文件中有一个数据库,供程序使用.该程序功能有限,我需要运行一些快速查询.我安装了SQL Server Management Studio Express 2005(SSMSE),连接到SQL Server实例,附加了数据库文件,并运行了查询.现在,原始程序将不再连接到数据库.我收到错误信息:

无法打开用户默认数据库.登录失败.用户‘myComputer\MyUserName’登录失败.

我已经返回SSMSE并try 设置默认数据库.我已经开了Security, Logins, BUILTIN\Administrators号和BUILTIN\Users号.在General下,我已经将默认数据库设置为程序的数据库.在User Mappings以下,我确保数据库已勾选,并且db_datareaderdb_datawriter已勾选.

程序使用连接字符串:

服务器=(本地)\n实例;AttachDbFilename=C:\PathToDatabase\Database.中密度纤维板综合安全=正确;用户实例=True;

我了解杰克--都是关于数据库管理的.我还错过了什么?

推荐答案

首先,try 隔离您的问题:

  1. 备份文件!显然,下面的一些步骤在某些情况下会导致文件消失.
  2. 是否确实要通过Management Studio连接到与程序相同的实例?
  3. 如果可能,请try 关闭您不希望使用的实例.
  4. 将用户的默认数据库设置为MASTER,并try 使程序登录.
  5. try 以用户身份通过Management Studio登录-由于您具有集成的安全性,因此应以程序用户身份打开Management Studio.
  6. 你是否在使用"用户实例"——也许你并不知道?如果是这样,这可能会有帮助:http://blogs.msdn.com/b/sqlexpress/archive/2006/11/22/connecting-to-sql-express-user-instances-in-management-studio.aspx

我并没有像你的程序那样处理文件的附件,但你写道你也在Management Studio中附加了DB.在运行程序之前,您是否try 过在那里分离它?也许你正在看到管理工作室和你的程序争夺MDF文件的独家访问权?

编辑:我在上面添加了第6点——这是我自己在解决此类登录失败问题时新增的TODO列表.但听起来确实很像你所经历的.

EDIT2:在第一次编辑中,列表中添加了新项目.所以 comments 中的数字与答案中的数字不一致.

Database相关问答推荐

DBMS_RANDOM 是否默认安装?

Django Save 方法在try 向表中添加新记录时出错

我们可以在 CnosDB 中的单个数据库中创建的标签数量是否有限制?

Sequel Pro / MAMP 在哪里存储本地数据库?

如何在 Big Data 中进行模糊搜索

sql-dump 有什么用?

Android Room持久性库@Update不起作用

SQL 概念 LEFT OUTER JOIN 和 WHERE NOT EXISTS 基本相同吗?

Followers/following 关注者表数据库 struct

为什么 DynamoDB 查询中没有**not equal**比较?

NoSql DB 和 OO Db 有什么区别?

SQLAlchemy 和 django,准备好生产了吗?

PHP - 数据库抽象层使用静态类与单例对象?

customer客户表的数据库 struct ,每个客户有很多订单,每个订单有很多商品

Django 数据库值的最佳推荐方式是什么?

MongooseJS - 如何找到具有最大值的元素?

如何使用 JPA 注释创建连接表?

查询 oracle clob 列

如何使用反射调用扫描可变参数函数

在一个查询中使用 group by 计算多列