前几日趁着[URL=http://jirigala.cnblogs.com/]吉日嘎拉[/URL]搞活动,升级了以前购买的程序到个人开发版,拿到SVN并下载源码后直到昨天才有空研究和学习这套[URL=http://www.hairihan.com.cn/]权限管理系统及C#快速开发平台[/URL]。没想到Attach数据库的时候出现如下错误:
<br/>Operating system error 5: "5(failed to retrieve text for this error. Reason: 15105)". (Microsoft SQL Server, Error: 5120)<br/>
我搜索了一下错误号码,找到如下解决方案,并照做了,但又出现新的错误如下图。
<br/>解决办法:<br/>1、打开该数据库文件的属性窗口,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮。<br/>2、在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。<br/>3、选择"确定"按钮关闭对话框。<br/>
<br/>The file “E:\VS\DotNet.Jirigala.Dev\DotNet.DataBase\SQL2008\MessageCenteV39.mdf” is compressed but does not reside in a read-only database or filegroup. The file must be decompressed.<br/>
继续搜索引擎,原来是NTFS启用文件压缩的问题(估计Jirigala的笔记本没启用这个功能),选择整个文件夹取消文件压缩,再来Attach,终于成功。
总结下来,在部署数据库的mdf文件时有两点需要注意:
1、认证用户对数据库文件的操作权限
2、数据库文件的发布者(创建者)是否启用过文件压缩