SQl Server2008附加数据库失败

网瘾大叔 2011-03-30 07:23:26
求教:
我用的SQl Server2008附加过多次数据库都失败,错误一致,将文件放置根目录下一样附加不上。

错误信息:
执行Transact-SQL语句或批处理时发生了异常。
无法打开物理文件“E:\数据库、学校_Data.MDF”.操作系统错误5:“5(拒绝访问。)”。(Microsoft SQl Server,错误:5120)
...全文
18249 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
gutongyw 2013-12-18
  • 打赏
  • 举报
回复
权限问题,12楼的方法可以解决
20120504taobao 2013-12-07
  • 打赏
  • 举报
回复
我也遇到了同样的问题,可是我把Authendicated Users权限也改为完全控制了,也添加everyone并且也设置为完全控制了,同时我也试过拷贝到Data目录下了,并且管理员还是sa登陆都试过,可所有的方法都不行,还有没有别的可能或者方法呢?我是网上下载的源代码,应该不太会文件损坏的。究竟是什么问题呢?要怎么操作啊?
米粒suming 2013-11-27
  • 打赏
  • 举报
回复
我今天也遇到这样的问题,应该说再次。呜呜,这次要记住了,是文件权限问题。改为完全控制就能附加了..本人也是初学者,好多问题的
xuchenhuics 2013-10-30
  • 打赏
  • 举报
回复
引用
15#
谢谢问题解决了
hl1264725079 2013-10-30
  • 打赏
  • 举报
回复
今天我也遇到了该问题,多谢前辈指教,虽然已经是好久以前的帖子了
wangzuopu1234 2013-10-06
  • 打赏
  • 举报
回复
标题: Microsoft SQL Server Management Studio ------------------------------ 附加数据库 对于 服务器“王作璞”失败。 (Microsoft.SqlServer.Smo) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476 ------------------------------ 其他信息: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------ SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂(签名应该为: 0x55555555,但实际为: 0x55550055)。在文件 'F:\第4章 商品销售管理系统\Database\MySale.mdf' 中、偏移量为 0x00000000122000 的位置对数据库 ID 7 中的页 (1:145) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 正在将数据库 'MySale' 从版本 539 转换为当前版本 655。 数据库 'MySale' 正在从版本 539 升级到版本 551。 (Microsoft SQL Server,错误: 824) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=824&LinkId=20476 ------------------------------ 按钮: 确定 ------------------------------
Mark1- 2013-09-28
  • 打赏
  • 举报
回复
我的开始也不行,后来拷贝到data目录下就可以了,太神奇了。
xuchenhuics 2013-09-11
  • 打赏
  • 举报
回复
引用
15楼的回复
刚开始只改MDF文件时不能附加但我把LDF文件也一样修改之后就行了 谢谢
wangmeng0727 2013-07-21
  • 打赏
  • 举报
回复
要把数据库拷贝在:C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA,与你的数据库安装目录有关,这面的是我的地址。然后附加时从这个路径里选择。
白鹭衣衫尽 2012-10-18
  • 打赏
  • 举报
回复
Win7/Vista下安装了SQL Server 2008,分离数据库后,进行附加时,发生如下错误:
提示“无法打开物理文件…………。操作系统错误 5:"5(拒绝访问。)"(Microsoft SQL Server,错误:5120)
网上很多都是说出现该问题是由于用混合验证方式登录数据库造成的,只要将登录方式换为windows验证方式即可解决该问题。经过测试,并非如此……
Win7/Vista采用了UAC帐户控制,即使你是管理员帐户,默认使用的也是标准令牌。经过测试,只要使用“管理员权限”运行“SQL Server Management Studio”,即可正常附加。
wjydj 2012-09-26
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

真巧,我今天刚遇到这个问题,用的是win7操作系统,sqlserver2008,不过已经解决了。

原因:是因为没有操作权限,所以附加的时候出错,只要设置数据库文件的安全属性即可。

解决办法:
1.打开该数据库文件的属性窗口,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮。
2.在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。……
[/Quote]

回答得非常正确,今天我也遇到同样的问题,不能解决。网上查资料,用他这种方式来解决了。
doodle 2011-12-16
  • 打赏
  • 举报
回复
真巧,我今天刚遇到这个问题,用的是win7操作系统,sqlserver2008,不过已经解决了。

原因:是因为没有操作权限,所以附加的时候出错,只要设置数据库文件的安全属性即可。

解决办法:
1.打开该数据库文件的属性窗口,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮。
2.在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。
3.选择"确定"按钮关闭对话框。
4.附加数据库,成功。
kiss1987621 2011-12-09
  • 打赏
  • 举报
回复
这个问题我刚解决了,楼主你把分离的数据文件拷贝到你安装SQLSERVER指定放置DATA的文件夹下,比如我的是在D:\Program Files\Microsoft SQL Server\MSSQL10.MYSQLSERVER\MSSQL\DATA 你放置到DATA下面,然后附加数据库,OK 。。
kiss1987621 2011-12-09
  • 打赏
  • 举报
回复
楼主解决这个问题没 ,我今天也遇到这个纠结的问题了 ,求教
BoRain 2011-07-27
  • 打赏
  • 举报
回复
从服务里面将对应的服务的 内置账户修改为 Local System ,即可附加上文件
这个是操作系统权限的问题导致的
trying2008 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 shanshuiwuqong 的回复:]
今天我也遇到了同样的问题,在U盘里的时候还可以附加,但是COPY到电脑里就不能附加了
[/Quote]


同楼上的情况一样。
数据库文件没问题,但是放电脑上硬是死活附加不上去,放U盘就蛮好的。
我用的是 win7 HomeBasic 32 位正版系统,请问是不是跟系统权限设置有关呀 ?
有知道的大侠们,请不吝赐教、
先谢过了……
shanshuiwuqong 2011-05-04
  • 打赏
  • 举报
回复
今天我也遇到了同样的问题,在U盘里的时候还可以附加,但是COPY到电脑里就不能附加了
--小F-- 2011-03-30
  • 打赏
  • 举报
回复
你可以把你的MDF文件COPY过去是一下
--小F-- 2011-03-30
  • 打赏
  • 举报
回复
另外你的文件的目录在你安装目录的DATA文件夹 而不是你说的那个地址
--小F-- 2011-03-30
  • 打赏
  • 举报
回复
你的操作系统没有开启简单文件共享?
加载更多回复(6)
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决问题了 //删除数据库 DROP DATABASE 从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离数据库 可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sqlserver\mssql\data\archdat1.mdf') FOR ATTACH GO //显示当前数据库信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离数据库 exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧