描述:
由于原来建立数据库的时候,设置的LOG大小过大,导致现在硬盘空间不够用
解决方法:
本人是这样想的,步骤如下:
首先备份数据库---然后删除现有数据库---删除LOG文件---重新建立一个新的数据库并设置LOG大小---(关键问题所在)关键问题所在:
如果能把原来的备份文件BAK文件里的表和数据都转到现在新建的数据库中,有什么方法吗
谢谢各位,如果可以解决继续加分。
由于原来建立数据库的时候,设置的LOG大小过大,导致现在硬盘空间不够用
解决方法:
本人是这样想的,步骤如下:
首先备份数据库---然后删除现有数据库---删除LOG文件---重新建立一个新的数据库并设置LOG大小---(关键问题所在)关键问题所在:
如果能把原来的备份文件BAK文件里的表和数据都转到现在新建的数据库中,有什么方法吗
谢谢各位,如果可以解决继续加分。
解决方案 »
- 构造路径字段
- 请教Haiwer(海阔天空)关于主键问题,欢迎其它高手帮忙解答
- 求一个sql语句
- 超难的用视图实现的父类子类的关系,望高手指点!!!!
- sqlservr.exe无故占用了CPU99%的资源,但用停止sqlserver服务又停不了,只能从新启动,请问有无其它办法!!!!!!!!!!
- 征求意见,关于索引的建立及查询语句的优化,各位老大看进来!
- 100高分求助 如何得到数据占用硬盘的大小
- 用DBCC TRACEON(1204,3605,-1)跟踪死锁,并没有在日志中发现死锁记录
- 怎么用T-SQL语句 取出 "\客厅\古典\pgkt-gd0375.jpg" 中以这种格式显示 客厅,古典
- 我提了二個問題,有三四天了,仍未解決,請問我該如何結貼
- 查询产品价格变动的时间
- 返回2012-09-01 到2012-09-20 的每一天
现在BACKUP过了,但是还有一个上面的问题。
上面我写的步骤,是我想到的解决办法,但是最后有个问题,不知道该怎么解决了。
希望能得到各位帮助。
按照你的问题,你可以这样,执行Checkpoint命令(在SSMS中执行),然后做一次日志备份,这样日志文件中的已提交事务就会写入到物理文件中,这样你可以分离数据库,把ldf删掉,在附加,附加的时候让SQLServer自动产生ldf文件就可以了,你如果用bak文件还原,配置还是一样的。那个只是作为后备,一旦出问题,还有的补救
新建的数据库的大小和LOG的大小是重新设置的。
1、在SSMS中运行checkpoint。
2、做一次日志备份,其实这个备份没啥用,可以不保留,但是只有做日志备份日志才能截断。截断是为了把日志中的数据写入到物理文件保存。
3、完全备份数据库一次。
4、把数据库分离。然后删除ldf文件
5、把数据库附件,ldf文件让其自动生成即可。
说的对,无论你新数据库设置得多小,一还原还是和原有的一模一样。#7楼的方案的可行的,不过麻烦了一点。如果只是减少日志文件的大小,只需:1、完全备份数据库
2、将数据库恢复模式改为“简单”
3、收缩数据库日志
4、将数据库恢复模式改回“完整”
5、完全备份数据库其实2、3、4步就可以了,但作为一个DBA,必须保证数据库的安全和日志链的连续性,才加了步骤1、5
1、完全备份数据库
2、将数据库恢复模式改为“简单”
3、收缩数据库日志
4、将数据库恢复模式改回“完整”
5、完全备份数据库其实2、3、4步就可以了,但作为一个DBA,必须保证数据库的安全和日志链的连续性,才加了步骤1、5你好
能给出第三步的详细做法吗,谢谢你了。
GO
DBCC SHRINKFILE (N'AdventureWorks_Log' , 0)
GO