首页数据库附加数据库出错?sql数据库附加出错怎么办

附加数据库出错?sql数据库附加出错怎么办

编程之家2023-10-20106次浏览

大家好,今天小编来为大家解答以下的问题,关于附加数据库出错,sql数据库附加出错怎么办这个很多人还不知道,现在让我们一起来看看吧!

附加数据库出错?sql数据库附加出错怎么办

sql数据库附加出错怎么办

解决方法步骤如下:

1、首先打开sqlserver management studio,登录身份选择windows身份验证,点击连接。

2、进入管理器中,选择数据库,右键,在弹出的菜单选择“附加”,如图所示,选择要附加的文件后,点击附加,如果没有报错,则完成附加,否则,需要接下来的数据修复。

3、报错,附加失败后,新建数据库,且要与要附加的数据库同名。如要附加的数据库为skhprint,要新建的数据库名也要命名为skhprint,如图,点击确定,完成数据库创建。

4、如何在界面内找到“停止”选项并单击停止数据库。

5、将原mdf文件,如skhprint.mdf复制到新创建的数据库所在目录中,之后,开启服务器。

附加数据库出错?sql数据库附加出错怎么办

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附加数据库出错一直正在执行

如下,在附加数据的时候出现如下的报错。排除分离和附加SQL SERVER数据库软件的版本问题外。造成这个问题的原因为存放数据库文件夹的权限问题造成的。

请点击输入图片描述

找到存放数据库文件夹,使用鼠标右键点击该文件夹,选择【属性】。在属性的界面中,切换至【安全】的选项卡。点击组或用户名下面的【编辑】按钮。

请点击输入图片描述

附加数据库出错?sql数据库附加出错怎么办

进行存放需要附加的文件夹权限设置。增加相关的账号权限。点击【添加】按钮。

请点击输入图片描述

在弹出的界面中点击选择【高级】

请点击输入图片描述

点击【立即查找】搜索Windows中相关用户。

请点击输入图片描述

在搜索出来的结果中选择【Everyone】用户组,并使用鼠标左键双击该用户组。

请点击输入图片描述

在输入对象名称来选择的下方出现【everyone】的名称后点击【确定】

请点击输入图片描述

下面进行everyone的权限设定,勾选everyone的权限为【完全控制】。这样everyone用户组对需要附加SQL数据库所在的文件夹就具备了完全控制的权限。

请点击输入图片描述

接下来使用SQL SSMS来进行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 server 2000附加数据库时出错怎么办

应该是你的数据库日志文件损坏了,单独附加应该不成功。因为单独附加的原理是产生一个空的LDF文件结构,但是前提是之前的Log是干净的关闭,也就是不能有其他Open的事物。

这个问题你可以尝试见一个同名的数据库,然后停掉SQL

Server用出问题的覆盖创建的,然后启动SQL

Server

,改到单用户模式用DBCC

CHECKDB修复,但是会有数据损失。

另外以上的操作建议在测试环境中做,保留一个备份。

附加数据库出错的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sql数据库附加出错怎么办、附加数据库出错的信息别忘了在本站进行查找哦。

数据库是指什么(数据库是指什么呢)域名 端口(我想问一下域名怎么绑定端口)