你是用较高版本的SQL SERVER中建的数据库,所以在较低版本的SQLSERVER数据库中不能附加。你可以在原来的数据库中导出该数据库的SQL,在目标数据库中运行建数据库结构,在原数据库中将数据备份成文件,然后在目标数据库中恢复备份。
这个原因是 *** 作系统拒绝访问错误(没有权限)两种方法1 你把需要附加的数据库 复制到你sql 安装所在磁盘的目录下就可以访问了(就是在点击附加数据库时默认打开的目录)一般是 Microsoft SQL Server\MSSQL1\MSSQL\Data 目录下2数据库要附加的数据库所在的磁盘 右键--》属性--》安全--》》添加一个名为 Everyone 的账户就行了
先把你的SQL停了,把备份的数据库文件覆盖以前的文件,再打开SQL,就OK了
MDF文件
附加数据库:企业管理器----右击一个SQL注册---所有任务---附加数据库
SQL文件
用查询分析器打开
或直接用记事本打开
第一步:先建立一个同名数据库,停止SQL SERVER2005,将原来的mdf数据库文件覆盖刚新建的mdf数据库文件,重新启动数据库
第二步:查询分析器执行,
1
2
3
4
5
6
7
alter database NEWDBNAME set emergency
declare @databasename varchar(255)
set @databasename='NEWDBNAME'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配”错误,请多次重试执行以上代码 。
遇到这种情况首先核对一下51aspx上源码所表明的开发环境(如 VS2005+Sql2005),如果是采用sqlServer2005的话你用Sql2000附加Sql2005的数据库就会出现这种错误(解决方法:改用SqlServer2005附加一下,如果还想用Sql2000格式那就用导出sql语句等方式进行转换)
转csdn sql专家邹建的解决办法
直接restore或附加应该是不行的, 用脚本+导数据肯定没有问题。
2005转到2000的步骤步骤
1 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 sql 脚本文件
2 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本以创建一个新的数据库
3 将数据从2005导到2000
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 导出数据
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库
-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成
找到要添加数据库的mdf文件,点击右键,选择属性。
在属性页面点击安全,选择Authenticated Users,单击编辑
Authenticated Users权限中选择完全控制,点击确定,点击属性界面的确定。
同理,右键点击数据库的ldf文件,打开属性。按以上步骤再次设置即可。
完成以上步骤,再进行附加数据库,这时就可以。
前提条件:
附加数据库失败有很多原因(1NTFS分区内的文件权限2数据库文件完整性 等等)本文附加数据库失败是指在NTFS分区文件没有权限而无法附加成功,所以解决方法仅对此种情况。
本文以安装 SQL Server 2000 Sample Databases 说明:
1运行SQL Server 2000 Sample Databases 安装程序,运行后在你的硬盘上建立一个文件夹及几个文件:
C:\SQL Server 2000 Sample Databases
分别在4个数据库文件图标上单击右键,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮。
选择组或用户名列表中选择Authenticated Users,在权限列表中选中完全控制。
选择"确定"按钮关闭对话框。
现在到sql server 200X中附加数据库就可成功附加了。如何附加数据库请参考sql server 200X中帮助文档这里不再赘述。
本文来自CSDN博客,转载请标明出处:>
以上就是关于为什么SQLServer附加数据库附加不了,提示错误如下全部的内容,包括:为什么SQLServer附加数据库附加不了,提示错误如下、SQL附加数据库报5120的错误,怎么回事哦、SQL server 2005附加数据库失败,错误5171 怎么回事啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)