SQL Server 2008无日志文件附加数据库
1、新建一个同名数据库。
2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)
3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:
alter database 无日志文件的数据库名称 set emergency
设置为紧急状态。
4、再运行:
alter database 无日志文件的数据库名称 set single_user
或者:
Sp_dboption '无日志文件的数据库名称', 'single user', 'true'
设置为单用户模式。
5、检查并重建日志文件,运行:
dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)
这个时间比较长。耐心等待!如果有错误提示,再运行:
dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)
进行修复。如果没有错误,可以跳过。
6、恢复成多用户模式
alter database 无日志文件的数据库名称 set multi_user
或者:
Sp_dboption '无日志文件的数据库名称', 'single user', 'false'
刷新数据库,你就可以看到已经修复好的数据库了。
缩小 SQL Server 数据库日志文件
2010-12-20 07:05
-- 缩小SQL Server数据库日志文件
-- 修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小)
Set NoCount On
Declare @LogicalFileName sysname
Declare @MaxMinutes Int
Declare @NewSize Int
Use mm -- 要操作的数据库名
Select @LogicalFileName = 'mm_log' -- 日志文件名
Select @MaxMinutes = 10 -- Limit On Time allowed To Wrap Log.
Select @NewSize = 8 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
Declare @OriginalSize Int
Select @OriginalSize = Size
From sysfiles
Where Name = @LogicalFileName
Select 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(Varchar(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(Varchar(30),(@OriginalSize*8/1024)) + 'MB'
From sysfiles
Where Name = @LogicalFileName
Create Table DummyTrans (DummyColumn Char (8000) Not Null)
Declare @Counter Int,
@StartTime Datetime,
@TruncLog Varchar(255)
Select @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
Exec (@TruncLog)
-- Wrap the Log If necessary.
While @MaxMinutes > DATEDIFF(mi, @StartTime, GETDATE()) -- Time has Not expired
And @OriginalSize = (Select Size From sysfiles Where Name = @LogicalFileName)
And (@OriginalSize * 8 /1024) > @NewSize
Begin -- Outer Loop.
Select @Counter = 0
While ((@Counter < @OriginalSize / 16)
And (@Counter < 50000))
Begin -- Update
Insert DummyTrans Values ('Fill Log')
Delete DummyTrans
Select @Counter = @Counter + 1
End
Exec (@TruncLog)
End
Select 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(Varchar(30),Size) + ' 8K pages or ' +
CONVERT(Varchar(30),(Size*8/1024)) + 'MB'
From sysfiles
Where Name = @LogicalFileName
Drop Table DummyTrans
Set NoCount Off
转载于:https://www.cnblogs.com/miralce/p/5102001.html
SQL Server 2008无日志文件附加数据库相关推荐
- SQL Server 2005无日志文件附加数据库
公司网站运营两年多了,日志文件超级大,在重装系统的时候,为了省事,就没有备份日志文件,而且是没有分离就把日志文件给删掉了(下次一定要记得先分离再删日志文件).结果造成数据库怎么都附加不上.出现错误. ...
- SQL Server 2008 Analysis Services 多维数据库一步一步从入门到精通
SQL Server 2008 Analysis Services 多维数据库一步一步从入门到精通(一) 创建 Analysis Services 项目(图) 在开始之前,我的电脑上已经完整的安装了S ...
- SQL Server 2008故障转移集群+数据库镜像配置实例之三
前两篇文章已经建立了SQL 2008 的故障转移集群,由于故障转移集群存在一个单点故障,既是当网络存储设备不可用时,整个集群就不可用了.所以为了获得更好的高可用特性和容灾机制,我们可以将集群中的某一特 ...
- SQL Server 2008 收缩日志 清空删除大日志文件
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) BackupLog DNName ...
- sql server 2008学习2 文件和文件组
数据库文件 每个 SQL Server 数据库至少具有两个操作系统文件:一个数据文件和一个日志文件.数据文件包含数据和对象,例如表.索引.存储过程和视图.日志文件包含恢复数据库中的所有事务所需的信息. ...
- SQL Server 2008 R2 里迁移系统数据库的方法
针对不同的场景,采用不同的步骤. 对非master以及resource系统数据库而言,分两种情况. 1.非master以及resource系统数据库正常. 这里以迁移msdb为例,将msdb从D:\S ...
- SQL Server 2008 数据恢复——日志备份
下面我来讲解用SQL SERVER2008日志备份的方法来恢复数据. 前期准备: 1.以test数据库为例,查询数据库恢复模式,及是否作过全库完整性备份 SELECT recovery_model,r ...
- SQL SERVER 2008清理日志
2019独角兽企业重金招聘Python工程师标准>>> ALTERDATABASE DNName SET RECOVERY SIMPLE --简单模式 GO 右键-任务-收缩-文 ...
- SQL Server 2008下日志清理方法
1.将数据库设置成 简单 模式 选择要收缩的数据库,点右键 属性->选项,选择 简单模式 2.选择任务->收缩->文件 3.选择日志 或者用如下语句 USE [master] GO ...
- sqlserver中无ldf文件附加数据库
CREATE DATABASE 数据库名 ON (FILENAME = '数据库文件') FOR ATTACH_REBUILD_LOG ; GO 搞定
最新文章
- js中BOM和DOM的区别
- java内存区域_JVM学习之—Java内存区域
- note.. redis五大数据类型
- 怎么在eclipse中安装properties插件使其显示中文
- 如何在 Quagga BGP 路由器中设置 IPv6 的 BGP 对等体和过滤
- C语言实现巴特沃斯IIR滤波器
- 智课雅思词汇---二十四、名词性后缀ary(也是形容词后缀)
- Python:利用Entrez库筛选下载PubMed文献摘要
- QQ空间删除的照片怎么找回,你知道回收站吗?
- 使用java + selenium + OpenCV破解腾讯防水墙滑动验证码
- 上班,老实人和精明人的区别是什么?
- ASM、AAM算法介绍
- r计算百分位数_R中产生的分位数和百分位数之间的差异
- 《Kinect应用开发实战:用最自然的方式与机器对话》一3.5 从深度图像到骨骼图...
- mysql慢日志查询的阈值_mysql慢日志查询
- 计算机网络实验2--简单企业网络搭建
- 卷积神经网络基本概念
- 鸿蒙、OpenHarmony、HarmonyOS傻傻的分不清楚。。。看这篇就够了
- 挖潜无极限—数据挖掘技术与应用热点扫描
- UE4中Enum类型元素如何在蓝图中直接转成string
热门文章
- 少样本学习系列(三)【Optimization-Based Methods】
- CentOS英文环境下使用ibus输入法
- [mstsc]解决win8 win10 平板无法被mstsc连接的问题
- ubuntu16.04安装PHP5.6和7.0
- C# 各种常用集合类型的线程安全版本
- Linux 100个常用指令
- CephOpenstack结合说明操作
- 基于Web的MIS系统环境配置和相关含义(拷贝版)
- XCode使用自带SVN,SVN命令
- 01knockout应用开发之遍历简单数据$Index、$data