日期:2014-05-18  浏览次数:20550 次

附加疑问
疑问1:
用sa登录,附加数据库时,提示尝试打开或创建物理文件 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ct0.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问),按道理来说,附加数据库时,出现这个
问题,那应该不能创建数据库才对呀,但确实可以创建数据库,这是为什么?

疑问2:
用sa登录,附加数据库时,为什么会提示尝试打开或创建物理文件 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ct0.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问)这个错误呢?我看过SQL Server的服务启动账号,
是local system。

疑问3:
用window登录,分离数据库,用sa登录,不能附加数据库?

------解决方案--------------------
这是因为SQL Server的启动帐户(一般是system或某个操作系统管理员),对E盘根目录没有创建文件的权限。右击E盘,在属性里查看“安全”选项卡里查看用户的权限。查看启动帐户是谁,运行services.msc,在服务管理器里找到SQL Server服务,然后看“登录”选项卡。

本人补充发现,是权限的问题。。->任务管理器:找到sqlservr.exe用户名为:NETWORK SERVICE及SYSTEM。于是把指定目录的权限加上这两个用户。完全控制 。问题就解决了。。。
------解决方案--------------------
LZ单独对MDF文件设置访问权限试试.

1、在数据文件(*.mdf)上右键属性

2、“安全”选项卡

3、“组或用户名”处点击“编辑”

4、在“XXX.mdf的权限”弹出窗口中删除Windows2003/Win7/Vista的管理员用户(防止后期混淆)。按照个人需求添加Everyone/System/NETWork Service用户名,并将其权限设置中的“完全控制、修改、读取和执行、读取、写入”全部选为“允许”即可。