数据库附加失败 sql数据库附加出错怎么办
大家好,今天来为大家解答数据库附加失败这个问题的一些问题点,包括sql数据库附加出错怎么办也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
SQL2005附加数据库失败
首先注意下51ASPX注明的数据库版本,如果是2000的,你用2005附加就会失败。
确认当前登录用户的权限,是否允许附加数据库。确认操作系统用户权限,是否有操作磁盘的权限。
另外可以测试其他数据是否可以附加,已确认是数据文件的问题,还是环境的问题。
如果其他数据可以附加,这查看ATTENDANCE.MDF文件的访问权限。
一点一点排除吧。
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无法附加数据库怎么办
在SQLServer上附加数据库时,提示“操作系统拒绝访问”,导致sql无法附加数据库的情况发生,我们该怎么来处理呢?有的用户可能不是很清楚,所以对此今天本文为大家整理分享的就是关于sql附加不上数据库的解决方法,一起往下看吧。
解决方法如下:
方法一:修改权限法1
1、打开要附加的数据库文件所在的文件夹,即扩展名为mdf的文件所在的文件夹,如下图所示:
2、右键单击mdf文件,选择“属性”,如下图所示:
3、单击“安全”选项卡,如下图所示:
4、单击“编辑”按钮,如下图所示:
5、在弹出的对话框中的“组或用户名”中选中"AuthenticatedUsers",如下图所示:
6、在“AuthenticatedUsers的权限”下,勾选"完全控制","完全控制"被勾选后,下面的权限也都会被自动勾选,如下图所示:
7、最后点击"确定"就可以了。修改权限完成后,你就可以成功的附加数据库了。这是最常用的方法,成功率也比较高,偶尔出现不成功的案例,此时请参考接下来的两种方法。
方法二:切换身份验证方式法1
1、有时不能成功附加数据库,可以用切换身份验证方式的方法解决。使用这种解决方法的前提条件是,你之前连接数据库时的身份验证方式是"SQLServer身份验证”,如下图所示。如果你之前是以“Windows身份验证”连接的数据库,不能附加数据库。那么该方法不适合你,请直接参考下面的方法三,如果你忘记了自己是以哪种方式验证的,可以先尝试这种方法,如果不能解决问题,再参考下面的方法三。
2、点击“断开连接”按钮,断开当前连接,如下图所示:
3、点击“连接”按钮,连接数据库服务器,如下图所示:
4、身份验证"选择“Windows身份验证”,如下图所示:
5、连接数据库后,即可附加要附加的数据库了。如果仍然没能成功附加,请参考下面的方法三。
方法三:修改服务法
1、打开"SQLServer配置管理器"程序,如下图所示:
2、在左侧单击”SQLServer服务”,如下图所示:
3、在右侧右键单击“SQLServer(MSLHK)”,选择“属性”,注意这里的“MSLHK”是我的数据库实例名,在你的电脑上,数据库实例名位置显示的是你的数据库实例名。操作如下图所示:
4、在弹出的属性对话框中,在“登录”选项卡下,选中“内置账户”,如下图所示:
5、把“内置账户”改为“LocalSystem”,如下图所示:
6、点击“确定”按钮,会提示是否重新启动服务,点击“是”。
7、重启服务完成后,查看“登录身份为”的显示内容是不是“LocalSystem”,如果是,就说明更改生效,如下图所示:
上面就是关于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数据库附加出错怎么办的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!