当前位置:首页 » 编程语言 » SQL撑爆

SQL撑爆

发布时间: 2025-07-23 20:30:25

A. 清理数据库碎片sql语句

清除数据库日志语句
--清除sqlserver 2000/2005 数据库日志
替换下红字部分数据库名称

declare @databasename varchar(15)
select @databasename='hdjjgl_journal'
DUMP TRANSACTION @databasename WITH NO_LOG

BACKUP LOG @databasename WITH NO_LOG

DBCC SHRINKDATABASE(@databasename)

或者
USE 数据库名
DUMP TRANSACTION 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 WITH NO_LOG
DBCC SHRINKFILE(2)

**********************************
--清除sqlserver 2008 数据库日志 ,执行两遍
替换下红字部分数据库名称,建立datalogbak清楚的日志备份文件夹,注意路径自定义。

use gdzjg_journal
declare @databasename varchar(100)
declare @databasenamelog varchar(100)
declare @databasenamedir varchar(100)
select @databasename='gdzjg_journal'
select @databasenamelog=@databasename+'_log'
select @databasenamedir='g:\datalogbak\'+@databasename

BACKUP LOG @databasename to disk=@databasenamedir
DBCC SHRINKFILE (@databasenamelog,1)

或者

ALTER DATABASE 数据库名称SET RECOVERY SIMPLE
ALTER DATABASE 数据库名称SET RECOVERY FULL
DBCC SHRINKDATABASE(数据库名称,0)

sqlserver 2000、2008会保存所有的数据库操作过程,将指令保存在ldf文件中,如果误删除数据,想恢复数据的话,可以通过Lumigent Log Explorer For SQLServer 软件分析ldf文件,可以看到所有执行过的insert、update、delete数据,导出来再逆向执行即可,本人曾经用过一回,确实奏效。

1、sql server 2000清理数据库日志

USE 数据库名

DUMP TRANSACTION 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 WITH NO_LOG
DBCC SHRINKFILE(2)

SHRINKFILE(2),后面的2是file_id,可以在当前数据库用select * from sysfiles看得到,看数据库的log文件的fileid是多少,正常情况下log的ldf文件是2,mdf文件的fileid是1。
这个查询语句可以随时执行,不影响数据库的运行。

sql server 2005、2008清理数据库日志

USE 数据库名
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
ALTER DATABASE 数据库名 SET RECOVERY FULL
DBCC SHRINKDATABASE(数据库名,0)

这个查询语句可以随时执行,不影响数据库的运行。

清理ldf的操作可以使用sql server代理,每天自动执行一次,就不怕文件增长撑爆硬盘了。

2、一般mdf用不着收缩,收缩多了容易产生文件碎片,因为delete数据之后,mdf文件中可用页面空间会保留在那里,等下次有新数据进来时,会继续使用。如果实在要清理,可以参考下面的语句:

sql server 2000、2005、2008 收缩mdf文件

DBCC SHRINKDATABASE(数据库名)
DBCC SHRINKFILE(1,0)
DBCC UPDATEUSAGE(0)

执行上述操作后,你会发现mdf的文件减少了,ldf的文件增大了,再用上面1的日志清理操作一次即可。

3、最后再附送一个查看数据表的行数、占用文件空间、存储情况的查询语句

-- drop table #test
create table #test(
name varchar(50),
rows int,
reserved varchar(20),
data varchar(20),
index_size varchar(20),
unused varchar(20)
)
set nocount on
insert into #test
EXEC sp_MSforeachtable @command1="sp_spaceused '?'"
select * from #test order by cast(replace(reserved,'KB','') as int) desc

B. SQL三种恢复模式有什么区别

一、定义不同

Simple简单恢复模式,Simple模式的旧称叫”Checkpoint with truncate log“。Full完整恢复模式,和Simple模式相反,Full模式的旧称叫”Checkpoint without truncate log“。Bulk-logged 大容量日志恢复。

二、功能不同

完整sql server恢复模式:

数据库引擎把所有操作都记录到事务日志上,并且数据库引擎绝对不会截断日志,完整恢复模式能使数据库恢复到故障时间点。

简单sql server恢复模式:

数据库引擎最低限度地记录大多数操作,并在每个检查点之后截断事务日志。它不能备份或还原事务日志,也不能还原单独的数据页。

大容量日志模式:

数据库引擎对大容量操作(select into和bulk insert)进行最小记录。如果一个日志备份包含任何大容量操作,就可以使数据库恢复到日志备份的结尾,但不能恢复到某个时间点,它仅用于大容量操作期间。

三、好处不同

在Simple模式下,SQL Server会在每次checkpoint或backup之后自动截断log,也就是丢弃所有的inactive log records,仅保留用于实例启动时自动发生的instance recovery所需的少量log,这样做的好处是log文件非常小,不需要DBA去维护。

Full模式SQL Server不主动截断log,只有备份log之后,才可以截断log,否则log文件会一直增大,直到撑爆硬盘,因此需要部署一个job定时备份log。Full的好处是可以做point-in-time恢复,最大限度的保证数据不丢失,一般用于critical的业务环境里。

Bulk-logged是针对以下Bulk操作,会产生尽量少的log:

1、Bulk load operations (bcp and BULK INSERT).

2、SELECT INTO.

3、Create/drop/rebuild index 通常bulk操作会产生大量的log,对SQL Server的性能有较大影响,bulk-logged模式的作用就在于降低这种性能影响,并防止log文件过分增长。

C. 存储过程,运行时提示ORA-06502: PL/SQL: numeric or value error: character string buffer too small

那就是你的数据类型长度太小了,如果是Varchar你尝试着定义为Varchar(500) 或者更大,试下。

D. 易语言edb数据库的最大存储记录是多少

根据您提供的信息,预记录有2万条,每条记录包含5个字段,每个字段的最大长度为50个字符。根据这些参数,可以对数据库的容量和性能进行初步评估。
数据库容量:
每个字段最大长度为50个,假设每个字符占用1字节(取决于数据库的编码方式),则每个记录的大小为250个字节。因此,2万条记录的总大小将达到5 MB(250字节/条 * 2万条)左右。对于现代的关系型数据库管理系统(RDBMS),这个存储量是非常小的,不会造成数据库撑爆的情况。
数据库性能:
对于每个字段都是文本型数据,最大50个字符的情况,数据库应该能够轻松处理。但是要注意以下几点:
1. 确保合适的索引:如果您需要经常查询和检索大量记录,可以考虑在适当的字段上创建索引,以加快查询速度。
2. 定期清理旧数据:根据您的需求,保存30天内的数据,超过这个时间范围数据可以定期清理,以减少数据库的负担。
3. 考虑优化数据库配置和硬件资源:如果您预计数据库访问频繁或者有其他特殊需求,可以考虑优化数据库配置、增加硬件资源,以提升数据库的性能和稳定性。
综上所述,根据您提供的信息,存储2万条记录对于现代的关系型数据库来说并不会撑爆数据库,并且数据库的性能应该可以满足需求。但是具体的情况还需要根据您的系统架构、数据库管理系统以及硬件资源等因素进行综合评估和优化。

热点内容
mysql数据库时间类型 发布:2025-07-24 03:31:02 浏览:388
如何云服务器部署独立站 发布:2025-07-24 03:08:05 浏览:875
安卓版背刺在哪里下载 发布:2025-07-24 03:07:56 浏览:363
linux复制多行 发布:2025-07-24 03:06:31 浏览:320
用脚本还嚣张 发布:2025-07-24 03:00:48 浏览:317
C语言ilk 发布:2025-07-24 02:59:30 浏览:653
微信公众号已停止访问 发布:2025-07-24 02:49:54 浏览:707
android手机系统源码 发布:2025-07-24 02:36:41 浏览:73
还原设置访问密码是什么 发布:2025-07-24 02:07:06 浏览:741
如何导入安卓手机相册 发布:2025-07-24 02:03:23 浏览:153