SQL数据在附加的时候..有时会因为日志文件过大..或者一些其他问题造成附加失败..

笔者遇到的问题是数据库主文件(*.mdf)超过25G..日志文件超过200G..附加的耗时简直日了狗了..最后超时..附加失败..

所以就在想不要这个日志文件了行不行..最后发现了这篇文章.. 阅读原文<SQL Server附加数据库时报1813错误的解决方案> ..以下是对这篇文章的整理和补充..

主要报错信息

无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。

解决的方案:

1. 新建一个同名的数据库.最好是区分大小写.. 甚至创建时的逻辑名都尽量保持一致

2. 关闭SQL服务..不要分离新建的库..(以下是命令..在"运行"窗口执行)

Net Stop MsSqlserver

3. 这个时候因为服务停掉了..所以可以操作实际的数据文件*.mdf..用原有的同名mdf文件覆盖新建库的mdf文件..然后启动sql服务...(以下是命令..在"运行"窗口执行)

Net Start MsSqlserver

这时系统还没有检查异常..先别刷新..

4. 按顺序执行以下语句,, 注意看注释 有跳过的语句

把NewDBName改成你的数据库名字

--设置库为紧急状态
alter database NewDBName set emergency --设置为单用户模式
alter database NewDBName set single_user --检查并重建日志文件
dbcc checkdb('NewDBName',REPAIR_ALLOW_DATA_LOSS) --上条执行时间比较长。耐心等待!
--如果报错..执行以下, 没有报错..可以跳过
dbcc checkdb('NewDBName',REPAIR_REBUILD) --恢复成多用户模式
alter database NewDBName set multi_user

一般执行到这里就已经好了..

刷新看看..

SQL2008 无日志附加MDF文件的更多相关文章

  1. sql management studio 附加mdf文件出错的解决办法

    将mdf文件所在文件夹的权限改为everyone.,完全控制即可.

  2. sql server 数据库 只有mdf文件,如何附加

    直接附加就可以,SQL 会提示LOG文件找不到,可删除提示的错误行,只附加MDF文件,附加成功后,SQL会自动创建LOG文件.

  3. SQL Server 数据库bak备份文件还原操作和mdf文件附加操作

    前言:现在任何软件都离不开数据的支持,数据的价值是无价的,因此数据目前显得尤为重要,日常软件生产库的数据定时或实时备份必不可少,备份出的文件也需要进行验证,下边我将介绍SQL Server数据的的备份 ...

  4. Sql Server 附加没有日志文件的数据库(.mdf)文件方法

    附加数据库,附加的时候会提醒找不到log文件 针对以上现象有两个写法的语句能解决: 写法一: USE MASTER; EXEC sp_detach_db @dbname = 'TestDB'; EXE ...

  5. SQL Server 2005无日志文件附加数据库

    公司网站运营两年多了,日志文件超级大,在重装系统的时候,为了省事,就没有备份日志文件,而且是没有分离就把日志文件给删掉了(下次一定要记得先分离再删日志文件).结果造成数据库怎么都附加不上.出现错误. ...

  6. SQL Server 2008无日志文件附加数据库

    1.新建一个同名数据库. 2.停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间.) 3.启动 ...

  7. SQL2008 R2直接恢复 mdf后缀数据文件

    数据库默认存储地址为   C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA  ,那么我首先把朋友给的,md ...

  8. SQL Server2017还原数据库时指定mdf文件及日志文件的名称

    由于需要还原同一个数据库的不同备份到不同数据库中,可是在还原的时候,可是在指定目标数据库时,填写不同的数据库名称,在SQL Server Data文件夹中生成的.mdf文件还是同一个,如图,虽然是很简 ...

  9. Sql Server 只有MDF文件恢复数据库的方法以及2008清除日志文件

    首先建立同名的空数据库,然后停止数据库服务运行,将MDF文件覆盖后启动服务,并修改和执行下面的语句. alter database JinMa_NYGL set EMERGENCY alter dat ...

随机推荐

  1. Hadoop技巧系列索引

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink Hadoop技巧(01):插件,终端权限 Had ...

  2. 在双系统(Windows与Ubuntu)下删除Ubuntu启动项

    问题概述:因为在自己学习Linux的时候,按照网上的教程错误的删除了Ubuntu的一个内核驱动,导致Ubuntu不能启动.我想到的办法是重新安装系统,重装系统的第一步便是将Ubuntu从电脑中卸载.该 ...

  3. mongodb基础篇

    一.  关于mongodb 两种非关系数据库 Redis:满足极高读写性能的Key-Value数据库 键值式储存,可以通过键快速查询到值. 内存数据库,类似于mencached.性能出色.容量低,不具 ...

  4. OpenWRT镜像爬虫搭建本地源

    网上的爬虫不能用,还是先表达谢意,不过我比较懒不喜欢重复写别人写的教程,只贴出修改,怎么用自己看教程吧. 我自己改了一版可以正常爬: #!/usr/bin/env python #coding=utf ...

  5. 简单socket()编程

    客户端: 1.socket( int af, int type, int protocol) socket()函数用于根据指定的地址族.数据类型和协议来分配一个套接口的描述字及其所用的资源.如果协议p ...

  6. channel Golang

    Golang, 以17个简短代码片段,切底弄懂 channel 基础 (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的 ...

  7. [LeetCode] Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列

    Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ...

  8. MySQL字符串函数substring:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  9. 在移动端中的flex布局

    flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局,  弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...

  10. MessageDialog

    var messageDialog = new Windows.UI.Popups.MessageDialog("Media player components unavailable&qu ...