sql2008无日志文件sql附加数据库失败败,怎么办

posts - 160,&
comments - 0,&
trackbacks - 0
附加数据库失败,提示:无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录或者在重做数据库 'DBNAME' 的日志中记录的操作时,日志记录 ID (99:5) 出错或者找不到日志文件或者日志文件不匹配
首先:停止数据库服务,把有问题的数据库拷贝一份
第一步:先建立一个同名数据库,数据库文件和日志的名称设置成跟原数据库文件一致停止SQL SERVER2008,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库
第二步:查询分析器执行,SQL code
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'
第三步:以上代码请同时运行,可能会出现&数据库其他多个文件与数据库主文件不匹配....&错误,请多次重试执行以上代码
断电 数据库状态 变为可疑,停掉数据服务后,复制一份数据。然后启动服务,直接在查询分析器执行以上代码,一般能够恢复正常
阅读(...) 评论()SQL附加数据库,但是只有MDF,但是没有日志文件
[问题点数:50分]
SQL附加数据库,但是只有MDF,但是没有日志文件
[问题点数:50分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
2006年 总版技术专家分年内排行榜第九
2007年10月 总版技术专家分月排行榜第三
2006年 总版技术专家分年内排行榜第九
2007年10月 总版技术专家分月排行榜第三
匿名用户不能发表回复!|mssql数据库附加不上问题解决方法 - 维维软件园
热门推荐:
您的位置:
→ mssql数据库附加不上问题解决方法
mssql数据库附加不上问题解决方法
作者:佚名 日期: 16:09:00 人气:
在我们做开发中经常会对数据库进行备份,但有时假就会出现数据库附加不上问题,下面我们来看看一个朋友的解决办法
错误15105,从网上找了一些解决方案,一般都是说文件的权限不足的问题,当然附加的时候必须是有数据库附加权限才可以操作的。
解决办法1:给相应的MDF文件给Full Control的权限,如果不知道是什么用户可以去Sql Server的配置中心去找,但是我遇到这个用上述方法就不可以。
解决方法2:换个用户试试,我原数据库是用sa登陆的,我试着用sa登陆一下,附加成功了!~
如果反复的用sa登陆却登陆失败,可能是没有开权限。权限可以在登陆用户的选项中设置,允许登陆即可。验证模式则可以在服务器处设置,要选择混合登陆模式。另外对高版本数据附加低版本数据库也可以试试上面的方法。其实我个人更喜欢用生成脚本的方式导结构和数据。
在QA里执行sp_attach_db或者sp_attach_single_file_db,出现提示:错误1813:未能打开新数据库'dbname',create database 将终止。设备激活错误。物理文件名'd:\sql server\mssql\data\dbname _log.ldf'可能有误!
  按下面的步骤处理:
  1.新建一个同名的数据库
  2.再停掉sqlserver服务(注意不要分离数据库)
  3.用原数据库的数据文件覆盖掉这个新建的数据库
  4.再重启sqlserver服务
  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
  6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了
use master go sp_configure 'allow updates',1 reconfigure with override go update sysdatabases set status =32768 where name='置疑的数据库名' go sp_dboption '置疑的数据库名', 'single user', 'true' go dbcc checkdb('置疑的数据库名') go update sysdatabases set status =28 where name='置疑的数据库名' go sp_configure 'allow updates', 0 reconfigure with override go sp_dboption '置疑的数据库名', 'single user', 'false' go
Sql Server 2000附加数据库出现1813错误的解决方法
今天进行了一错误操作。
数据库xxzx_discuz,因生成大量日志使日志文件'xxzx_discuz_Log.LDF' 占满了磁盘所有空间,使网站无法正常使用数据库。
自己图省事分离数据库xxzx_discuz后,直接删除'xxzx_discuz_Log.LDF' (因为文件太大,无法存放到回收站),重新附件到SQL Server时出现两个提示:
---------------------------
SQL Server 企业管理器
---------------------------
为日志文件指定的文件名不正确。
将创建新的日志文件。
要继续吗?
---------------------------
是(Y) 否(N)
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 1813: 未能打开新数据库 'xxzx_discuz'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 'S:\Program Files\Microsoft SQL Server\MSSQL\data\xxzx_discuz_Log.LDF' 可能有误。
---------------------------
---------------------------
从而无法将数据库正常附加到SQL Server 2000,正常情况下这样操作是没有问题的,SQL Server会重新生成日志文件,但是因为之前出现了磁盘空间不足,日志文件不完整,从而造成了无法正常附加。
解决办法如下(从网上找来的):
0.备份数据文件'xxzx_discuz_Log.MDF'
1.新建一个同名的数据库'xxzx_discuz'
2.再停掉sqlserver服务(注意不要分离数据库)
3.用原数据库的数据文件'xxzx_discuz_Log.MDF' 覆盖掉新建的数据库
4.再重启sqlserver服务
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了. SQL代码
use master
sp_configure 'allow updates',1 reconfigure with override
update sysdatabases set status =32768 where name='置疑的数据库名'
sp_dboption '置疑的数据库名', 'single user', 'true'
dbcc checkdb('置疑的数据库名')
update sysdatabases set status =28 where name='置疑的数据库名'
sp_configure 'allow updates', 0 reconfigure with override
sp_dboption '置疑的数据库名', 'single user', 'false'
特别注意最后一步中的说明&这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了&
大家还看了:
本类热门阅览无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。如果事务日志文件被手动删除或者由于硬件或环境问题而丢失,则可能出现此错误。
我在附加数据库的时候报错无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。如果事务日志文件被手动删除或者由于硬件或环境问题而丢失,则可能出现此错误。附加使用的语句:USEGOsp_detach_db NGO-- Get the SQL Server data path
-- Execute CREATE DATABASE FOR ATTACH statementEXEC ('CREATE DATABASE Need
ON (FILENAME = '''+ N'F:\Need\' + 'Need.mdf'')
FOR ATTACH');GO
把分离之前的日志文件也复制过来一齐附加嘛从错误提示看, 应该是你的日志文件中还包括有用的数据, 这些数据还没有正确写回数据文件, 导致附加失败.这种情况最好能找回之前的日志文件, 如果找不到, 应急的方法是新建一个数据库, 将数据库设置为 offline, 然后用附加失败的数据文件替换掉新建库的数据文件, 然后将数据库设置为应急恢复模式, 这样一般就能读数据了ALTER DATABASE DB_name SET EMERGENCY
已标记为答案
这个错误,怎么解决噢?请高手赐教
Tried with sp_attach_db?
Why detach database by the way? Why don't do backup/restore instead?
EXEC sp_detach_db @dbname = 'Need';EXEC sp_attach_single_file_db @dbname = 'Need',
@physname = N'F:\Need\Need.mdf';测试过,不行文件激活失败。物理文件名称'E:\DB\Need_log.ldf'可能不正确。无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。如果事务日志文件被手动删除或者由于硬件或环境问题而丢失,则可能出现此错误。消息 1813,级别 16,状态 2,第 1 行无法打开新数据库 'Need'。CREATE DATABASE 中止。这是错误信息,对了RMIAO可以加我MSN吗?我的MSN:给我一些在线指导?
Why detach database by the way? Why don't do backup/restore instead?因为没有备份数据库,可以提供恢复,所以不得不这样进行附加操作!
Why attach single file? Did you delete log file? If so, have to rebuild log first.
Why attach single file? Did you delete log file? If so, have to rebuild log first.日志文件丢失了!郁闷!怎么rebuild log?
Why detach database by the way? Why don't do backup/restore instead?因为没有备份数据库,可以提供恢复,所以不得不这样进行附加操作!
The point is you shouldn't detach db in first place.
Take look at this one:
好的我去看看谢谢
把分离之前的日志文件也复制过来一齐附加嘛从错误提示看, 应该是你的日志文件中还包括有用的数据, 这些数据还没有正确写回数据文件, 导致附加失败.这种情况最好能找回之前的日志文件, 如果找不到, 应急的方法是新建一个数据库, 将数据库设置为 offline, 然后用附加失败的数据文件替换掉新建库的数据文件, 然后将数据库设置为应急恢复模式, 这样一般就能读数据了ALTER DATABASE DB_name SET EMERGENCY
已标记为答案
数据库可以读之后, 你可以尝试再将其设置为 ONLINE 模式, 如果能成功, 那再 DBCC CHECKDB 一次, 确认没有问题如果无法ONLINE, 那么你大概就只好新建库, 然后把应急模式的库的数据导到新建的库了
大哥谢谢啊!我已经可以读出数据了!
ALTER DATABASE Need SET ONLINE ;ONLINE 的时候数据库就停在哪儿很慢很慢,不知道什么时候会好!&>&SQL2000只有数据库文件没有日志文件的附加方法
SQL2000只有数据库文件没有日志文件的附加方法
上传大小:25KB
使用SQL2000附加数据库时只有数据库文件没有日志文件的附加方法
综合评分:0
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
综合评分:
积分/C币:3
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
SQL2000只有数据库文件没有日志文件的附加方法
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
SQL2000只有数据库文件没有日志文件的附加方法

我要回帖

更多关于 sql附加数据库时出错 的文章

 

随机推荐