sqlserver附加数据库出错?sql数据库附加出错怎么办
大家好,关于sqlserver附加数据库出错很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于sql数据库附加出错怎么办的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
附加SQL2005数据库失败。请问怎么解决。
参考恢复方法:
1、停止数据库服务。
2、将需要恢复的数据库文件复制到另外的位置。
3、启动数据库服务。
4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
5、新建同名的数据库(数据库文件名也要相同)。
6、停止数据库服务。
7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。
8、启动数据库服务。
9、运行alter database dbname set emergency,将数据库设置为emergency mode
10、运行下面的命令就可以恢复数据库:
use master
declare@databasename varchar(255)
set@databasename='你的数据库名'
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'--将目标数据库置为多用户状态
----------------------------------------------------------------------------------------------------------
如果你一切都顺得的话就如上的步骤就可以成功了,下面我们将对特殊的状态进行分析
----------------------------------------------------------------------------------------------------------
1、一个或多个文件与数据库的主文件不匹配。如果是尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。
日志文件'E:/Program Files/Microsoft SQL Server 2005/MSSQL.1/MSSQL/DATA/dnt2_db_log.ldf'与主文件不匹配。该文件可能来自另一数据库,或者可能以前重新生成了日志。
消息 5123,级别 16,状态 1,第 5行
尝试打开或创建物理文件'F:/项目/爱社区/数据库/dnt2_db_log.ldf'时,CREATE FILE遇到操作系统错误 3(系统找不到指定的路径。)。
消息 5024,级别 16,状态 2,第 5行
在 sysfiles1中找不到主日志文件所对应的条目。无法重建日志。
消息 5028,级别 16,状态 2,第 5行
系统无法激活足够的数据库来重建日志。
解决方案:手动创建E:/Program Files/Microsoft SQL Server 2005/MSSQL.1/MSSQL/DATA目录就可以了,然后再执行
上述第10步步骤,就会在E:/Program Files/Microsoft SQL Server 2005/MSSQL.1/MSSQL/DATA产生一个日志文件。数据库就可以正常使用了
----------------------------------------------------------
2、另外值得说说的就是,如果该数据在备份时发生
System.Data.SqlClient.SqlError:在处理'BackupMetadata'元数据(数据库 ID 6,文件 ID 65537)时出错。(Microsoft.SqlServer.Smo),说明在附加过程中没有产生全文索引文件
解决方法:
右键数据库->属性->文件->选择使用全文索引
如果执行正常那么就可以直接进行备份操作了。
sql数据库附加出错怎么办
解决方法步骤如下:
1、首先打开sqlserver management studio,登录身份选择windows身份验证,点击连接。
2、进入管理器中,选择数据库,右键,在弹出的菜单选择“附加”,如图所示,选择要附加的文件后,点击附加,如果没有报错,则完成附加,否则,需要接下来的数据修复。
3、报错,附加失败后,新建数据库,且要与要附加的数据库同名。如要附加的数据库为skhprint,要新建的数据库名也要命名为skhprint,如图,点击确定,完成数据库创建。
4、如何在界面内找到“停止”选项并单击停止数据库。
5、将原mdf文件,如skhprint.mdf复制到新创建的数据库所在目录中,之后,开启服务器。
6、这时,会发现skhprint质疑,接下来要打开查询分析器,输入如下代码:use mastergo--declare@databaseName varchar(50)--set@databaseName='skhprint'--1修改服务器设置:允许对系统目录进行直接修改
sp_configure'allow updates',1 reconfigure with overridego--2将数据库置为紧急状态update master.dbo.sysdatabases set status= 32768 where name='skhprint'go--3删除新的ldf文件,重建日志:dbcc rebuild_log('skhprint','f:\skhprint_log_new.ldf')--假设把新日志在f盘goupdate master.dbo.sysdatabases set status= 16 where name='skhprint'即可。
sql server 2000 附加数据库 错误5118
其实该问题解决非常简单,只需
1右键点击数据库所在的文件夹,
2点击属性,在常规选项卡中点击高级,
3在弹出的窗口中的压缩或加密属性中去掉压缩内容或者节省磁盘空间,点击确定
4点击应用,勾选应用于该文件夹所有文件即可
------
原因:
NTFS或 FAT压缩卷上不支持 SQL Server数据库。压缩卷无法保证扇区对齐方式的写入,但这种写入在某些情况下是确保事务恢复所必需的。此外,建议不要将 SQL Server数据库备份为压缩卷上的磁盘文件。
SQL server 2000附加数据库时出错怎么办
应该是你的数据库日志文件损坏了,单独附加应该不成功。因为单独附加的原理是产生一个空的LDF文件结构,但是前提是之前的Log是干净的关闭,也就是不能有其他Open的事物。
这个问题你可以尝试见一个同名的数据库,然后停掉SQL
Server用出问题的覆盖创建的,然后启动SQL
Server
,改到单用户模式用DBCC
CHECKDB修复,但是会有数据损失。
另外以上的操作建议在测试环境中做,保留一个备份。
sqlserver附加数据库出错的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sql数据库附加出错怎么办、sqlserver附加数据库出错的信息别忘了在本站进行查找哦。