當前位置:首頁 » 編程語言 » 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萬條記錄對於現代的關系型資料庫來說並不會撐爆資料庫,並且資料庫的性能應該可以滿足需求。但是具體的情況還需要根據您的系統架構、資料庫管理系統以及硬體資源等因素進行綜合評估和優化。

熱點內容
如何雲伺服器部署獨立站 發布: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
口袋助理源碼 發布:2025-07-24 02:00:06 瀏覽:686