当前位置:首页 » 编程语言 » sqlserver碎片整理

sqlserver碎片整理

发布时间: 2024-12-02 05:14:22

sql数据库瘦身问题

--首先,用下面的语句,检查/修复数据库/并整理索引碎片(需要比较长的时间,请在系统空闲时进行此工作)

USE MASTER
GO

sp_dboption '你的数据库名', 'single user', 'true'
Go

DBCC CHECKDB('你的数据库名', REPAIR_REBUILD)
Go

USE 你的数据库名
go

exec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_REBUILD)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
go

sp_dboption '你的数据库名', 'single user', 'false'
Go

--然后用这个压缩数据库日志文件.
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT

--Select * From Sysfiles
USE YSERP -- 要操作的数据库名
SELECT @LogicalFileName = 'YSERP_Log' , -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 20 -- 你想设定的日志文件的大小(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

--其次是压缩主数据文件

企业管理器->所有任务->压缩数据库->压缩文件->文件->压缩到最终大小->输入最小值即可

⑵ sqlserver2000 必须要重建索引吗

这个东西没有必须,谁也无法规定你一定要怎样,搞清楚做这件事是为了什么,你才知道有没有必要做。

重建索引的目的是为了让索引更高效的工作,如果一个索引长时间的没有整理,那么整个索引上的数据就会杂乱无章的排列,无法起到提高效率的作用,这样的索引并没有什么卵用。所以对于频繁写入数据的表,适时重建索引是需要的。对于不频繁的表,可以延长索引重建的时间,如果一个表完全只用于查询而从来不写入,那可以永远不需要重建索引。重建索引主要解决索引碎片问题,索引碎片会导致更多的磁盘IO,而磁盘IO恰恰是最消耗时间的操作。

以聚集索引为例,原理在于:

当一个表新增数据时,数据是依次写入数据页,索引同理;

而数据写入并不一定会按顺序,例如公司新增员工,你并不能确定每次新增员工他们的姓氏一定就是按照A-Z的顺序来的;

那么时间一长,以字母A为首字母的用户信息将会遍布整个索引,从头到尾;

这对于数据检索没有什么好处,假如索引存储用了1000页,那么你需要读取1000页的数据来检索信息;

这时就需要通过索引重建,来把数据按照规则重新排列,以期望在检索字母A开头的员工时,可以让数据库知道,这些数据都是聚集在前200页的;

从而让数据库减少读取,提高读取速度。

更多的细节上的东西,你需要学习2个知识点就可以知道了,

  1. 数据库中的数据是怎么存储的,索引又是怎么存储的,是什么结构

  2. 索引碎片对性能的影响

⑶ 电脑常用快捷方式有哪些

一、常见用法
F1显示当前程序或者windows的帮助内容。
F2当你选中一个文件的话,这意味着“重命名”
F3当你在桌面上的时候是打开“查找:所有文件” 对话框
F10或ALT激活当前程序的菜单栏
windows键或CTRL+ESC打开开始菜单
CTRL+ALT+DELETE在win9x中打开关闭程序对话框
DELETE删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
CTRL+N新建一个新的文件
CTRL+O打开“打开文件”对话框
CTRL+P打开“打印”对话框
CTRL+S保存当前操作的文件
CTRL+X剪切被选择的项目到剪贴板
CTRL+INSERT 或 CTRL+C复制被选择的项目到剪贴板
SHIFT+INSERT 或 CTRL+V粘贴剪贴板中的内容到当前位置
ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作
ALT+SHIFT+BACKSPACE重做上一步被撤销的操作
Windows键+L 锁屏键
Windows键+M最小化所有被打开的窗口。
Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置
Windows键+E打开资源管理器
Windows键+F打开“查找:所有文件”对话框
Windows键+R打开“运行”对话框
Windows键+BREAK打开“系统属性”对话框
Windows键+CTRL+F打开“查找:计算机”对话框
SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单
SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏
ALT+F4关闭当前应用程序
ALT+SPACEBAR打开程序最左上角的菜单
ALT+TAB切换当前程序
ALT+ESC切换当前程序
ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换
PRINT SCREEN将当前屏幕以图象方式拷贝到剪贴板
ALT+PRINT SCREEN将当前活动程序窗口以图象方式拷贝到剪贴板
CTRL+F4关闭当前应用程序中的当前文本(如word中)
CTRL+F6切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口)
在IE中:
ALT+RIGHT ARROW显示前一页(前进键)
ALT+LEFT ARROW显示后一页(后退键)
CTRL+TAB在页面上的各框架中切换(加shift反向)
F5刷新
CTRL+F5强行刷新
目的快捷键
激活程序中的菜单栏 F10
执行菜单上相应的命令 ALT+菜单上带下划线的字母
关闭多文档界面程序中的当
前窗口 CTRL+ F4
关闭当前窗口或退出程序 ALT+ F4
复制 CTRL+ C
剪切 CTRL+ X
删除 DELETE
显示所选对话框项目的帮助 F1
显示当前窗口的系统菜单 ALT+空格键
显示所选项目的快捷菜单 SHIFT+ F10
显示“开始”菜单 CTRL+ ESC
显示多文档界面程序的系统
菜单 ALT+连字号(-)
粘贴 CTR L+ V
切换到上次使用的窗口或者
按住 ALT然后重复按TAB,
切换到另一个窗口 ALT+ TAB
撤消 CTRL+ Z

二、使用“Windows资源管理器”的快捷键
目的快捷键
如果当前选择展开了,要折叠或者选择父文件夹左箭头
折叠所选的文件夹 NUM LOCK+负号(-)
如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头
展开当前选择下的所有文件夹 NUM LOCK+*
展开所选的文件夹 NUM LOCK+加号(+)
在左右窗格间切换 F6

三、使用 WINDOWS键
可以使用 Microsoft自然键盘或含有 Windows徽标键的其他任何兼容键盘的以下快
捷键。
目的快捷键
在任务栏上的按钮间循环 WINDOWS+ TAB
显示“查找:所有文件” WINDOWS+ F
显示“查找:计算机” CTRL+ WINDOWS+ F
显示“帮助” WINDOWS+ F1
显示“运行”命令 WINDOWS+ R
显示“开始”菜单 WINDOWS
显示“系统属性”对话框 WINDOWS+ BREAK
显示“Windows资源管理器” WINDOWS+ E
最小化或还原所有窗口 WINDOWS+ D
撤消最小化所有窗口 SHIFT+ WINDOWS+ M
============================================================
四、“我的电脑”和“资源管理器”的快捷键
目的快捷键
关闭所选文件夹及其所有父
文件夹按住 SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)
向后移动到上一个视图 ALT+左箭头
向前移动到上一个视图 ALT+右箭头
查看上一级文件夹 BACKSPACE
=============================================================
五、使用对话框中的快捷键
目的快捷键
取消当前任务 ESC
如果当前控件是个按钮,要
单击该按钮或者如果当前控
件是个复选框,要选择或清
除该复选框或者如果当前控
件是个选项按钮,要单击该
选项空格键
单击相应的命令 ALT+带下划线的字母
单击所选按钮 ENTER
在选项上向后移动 SHIFT+ TAB
在选项卡上向后移动 CTRL+ SHIFT+ TAB
在选项上向前移动 TAB
在选项卡上向前移动 CTRL+ TAB
如果在“另存为”或“打开”
对话框中选择了某文件夹,
要打开上一级文件夹 BACKSPACE
在“另存为”或“打开”对
话框中打开“保存到”或
“查阅” F4
刷新“另存为”或“打开”
对话框 F5
========================================================
六、桌面、我的电脑和“资源管理器”快捷键
选择项目时,可以使用以下快捷键。
目的快捷键
插入光盘时不用“自动播放”
功能按住 SHIFT插入 CD-ROM
复制文件按住 CTRL拖动文件
创建快捷方式按住 CTRL+SHIFT拖动文件
立即删除某项目而不将其放入 SHIFT+DELETE
“回收站”
显示“查找:所有文件” F3
显示项目的快捷菜单 APPLICATION键
刷新窗口的内容 F5
重命名项目 F2
选择所有项目 CTRL+ A
查看项目的属性 ALT+ ENTER或 ALT+双击
可将 APPLICATION键用于 Microsoft自然键盘或含有 APPLICATION键的其他兼容键
=======================================================
七、Microsoft放大程序的快捷键
这里运用Windows徽标键和其他键的组合。
快捷键目的
Windows徽标+PRINT SCREEN将屏幕复制到剪贴板(包括鼠标光标)
Windows徽标+SCROLL LOCK将屏幕复制到剪贴板(不包括鼠标光标)
Windows徽标+ PAGE UP切换反色。
Windows徽标+ PAGE DOWN切换跟随鼠标光标
Windows徽标+向上箭头增加放大率
Windows徽标+向下箭头减小放大率
=========================================================
八、使用辅助选项快捷键
目的快捷键
切换筛选键开关右SHIFT八秒
切换高对比度开关左ALT+左SHIFT+PRINT SCREEN
切换鼠标键开关左ALT+左SHIFT+NUM LOCK
切换粘滞键开关 SHIFT键五次
切换切换键开关 NUM LOCK五秒
QQ快捷键,玩QQ更方便
Alt+S 快速回复
Alt+C 关闭当前窗口
Alt+H 打开聊天记录
Alt+T 更改消息模式
Ait+J 打开聊天纪录
Ctrl+A 全选当前对话框里的内容
Ctrl+F QQ里直接显示字体设置工具条
Ctrl+J 输入框里回车(跟回车一个效果)
Ctrl+M 输入框里回车(跟回车一个效果)
Ctrl+L 对输入框里当前行的文字左对齐
Ctrl+R 对输入框里当前行的文字右对齐
Ctrl+E对输入框里当前行的文字居中
Ctrl+V在qq对话框里实行粘贴
Ctrl+Z清空/恢复输入框里的文字
Ctrl+回车 快速回复 这个可能是聊QQ时最常用到的了
Ctrl+Alt+Z快速提取消息
Ctrl+Alt+A 捕捉屏幕
最常用的快捷键
F5------------刷新 DELETE--------删除 TAB-------改变焦点
CTRL+C--------复制 CTRL+X--------剪切 CTRL+V--------粘贴
CTRL+A--------全选 CTRL+Z--------撤销 CTRL+S--------保存
ALT+F4--------关闭 CTRL+Y--------恢复 ALT+TAB-------切换
CTRL+F5---强制刷新 CTRL+W--------关闭 CTRL+F--------查找
SHIFT+DELETE永久删除 CTRL+ALT+DEL任务管理 SHIFT+TAB-反向切换
CTRL+空格--中英文输入切换 CTRL+Shift输入法切换 CTRL+ESC--开始菜单
CTRL+ALT+ZQQ快速提取消息 CTRL+ALT+AQQ截图工具 CTRL+ENTERQQ发消息
Alt+1保存当前表单
Alt+2保存为通用表单
Alt+A展开收藏夹列表
资源管理器
END显示当前窗口的底端
HOME显示当前窗口的顶端
NUMLOCK+数字键盘的减号(-)折叠所选的文件夹
NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容
NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹
向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹
向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹
自然键盘
【窗口】显示或隐藏“开始”菜单
【窗口】+F1帮助
【窗口】+D显示桌面
【窗口】+R打开“运行”
【窗口】+E打开“我的电脑”
【窗口】+F搜索文件或文件夹
【窗口】+U打开“工具管理器”
【窗口】+BREAK显示“系统属性”
【窗口】+TAB在打开的项目之间切换
辅助功能
按右边的SHIFT键八秒钟切换筛选键的开和关
按SHIFT五次切换粘滞键的开和关
按NUMLOCK五秒钟切换切换键的开和关
左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关
左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关
运行
按“开始”-“运行”,或按WIN键+R,在‘运行’窗口中输入:
(按英文字符顺序排列)
%temp%---------打开临时文件夹
.--------------C:\DocumentsandSettings\用户名所在文件夹
..-------------C:\DocumentsandSettings
...------------我的电脑
\--------------C盘
appwize.cpl----添加、删除程序
access.cpl-----辅助功能选项
Accwiz---------辅助功能向导
cmd------------CMD命令提示符
command--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cintsetp-------仓颉拼音输入法
cliconfg-------SQLSERVER客户端网络实用程序
clipbrd--------剪贴板查看器
control--------打开控制面板
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dxdiag---------检查DirectX信息
drwtsn32-------系统医生
devmgmt.msc----设备管理器
desk.cpl-------显示属性
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dvdplay--------DVD播放器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
fsmgmt.msc-----共享文件夹管理器
firewall.cpl---WINDOWS防火墙
gpedit.msc-----组策略
hdwwiz.cpl-----添加硬件
iexpress-------木马捆绑工具,系统自带
inetcpl.cpl----INTETNET选项
intl.cpl-------区域和语言选项(输入法选项)
irprops.cpl----无线链接
joy.cpl--------游戏控制器
lusrmgr.msc----本机用户和组
logoff---------注销命令
main.cpl-------鼠标
mem.exe--------显示内存使用情况
migwiz---------文件转移向导
mlcfg32.cpl----邮件
mplayer2-------简易widnowsmediaplayer
mspaint--------画图板
msconfig.exe---系统配置实用程序
mstsc----------远程桌面连接
magnify--------放大镜实用程序
mmc------------打开控制台
mmsys.cpl------声音和音频设备
mobsync--------同步命令
ncpa.cpl-------网络连接
nslookup-------IP地址侦测器
netstartX----开始X服务
netstopX-----停止X服务
netstat-an----命令检查接口
netsetup.cpl---无线网络安装向导
notepad--------打开记事本
nslookup-------IP地址侦探器
narrator-------屏幕“讲述人”
ntbackup-------系统备份和还原
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
nusrmgr.cpl----用户账户
nwc.cpl--------NetWare客户服务
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
odbccp32.cpl---ODBC数据源管理器
oobe/msoobe/a-检查XP是否激活
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
powercfg.cpl---电源选项
progman--------程序管理器
regedit--------注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
regsvr32/?----调用、卸载DLL文件运行(详细请在cmd中输入regsvr32/?)
sapi.cpl-------语音
services.msc---本地服务设置
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
sndvol32-------音量控制程序
shrpubw--------共享文件夹设置工具
secpol.msc-----本地安全策略
sysdm.cpl------系统
syskey---------系统加密(一旦加密就不能解开,保护windowsxp系统的双重密码)
services.msc---本地服务设置
sfc.exe--------系统文件检查器
sfc/scannow---windows文件保护
shutdown-------关机命令(详细请在cmd中输入shutdown/?)
taskmgr--------任务管理器
telephon.cpl---电话和调制解调器选项
telnet---------远程连接程序
timedate.cpl---日期和时间
tourstart------xp简介(安装完成后出现的漫游xp程序)
tsshutdn-------60秒倒计时关机命令
utilman--------辅助工具管理器
winver---------检查Windows版本
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
wmimgmt.msc----打开windows管理体系结构(WMI)
wordpad--------写字板
wuaucpl.cpl----自动更新
wupdmgr--------windows更新程序
write----------写字板
wscript--------windows脚本宿主设置
wscui.cpl------安全中心
C:/windows/fonts字体
hcp://services/centers/homepage帮助和支持

⑷ 如何判断MSSQL数据库磁盘出现了瓶颈

具体问题具体分析,举例来说明为什么磁盘IO成瓶颈数据库的性能急速下降了。

为什么当磁盘IO成瓶颈之后, 数据库的性能不是达到饱和的平衡状态,而是急剧下降。为什么数据库的性能有非常明显的分界点,原因是什么?

相信大部分做数据库运维的朋友,都遇到这种情况。 数据库在前一天性能表现的相当稳定,数据库的响应时间也很正常,但就在今天,在业务人员反馈业务流量没有任何上升的情况下,数据库的变得不稳定了,有时候一个最简单的insert操作, 需要几十秒,但99%的insert却又可以在几毫秒完成,这又是为什么了?

dba此时心中有无限的疑惑,到底是什么原因呢? 磁盘IO性能变差了?还是业务运维人员反馈的流量压根就不对? 还是数据库内部出问题?昨天不是还好好的吗?

当数据库出现响应时间不稳定的时候,我们在操作系统上会看到磁盘的利用率会比较高,如果观察仔细一点,还可以看到,存在一些读的IO. 数据库服务器如果存在大量的写IO,性能一般都是正常跟稳定的,但只要存在少量的读IO,则性能开始出现抖动,存在大量的读IO时(排除配备非常高速磁盘的机器),对于在线交易的数据库系统来说,大概性能就雪崩了。为什么操作系统上看到的磁盘读IO跟写IO所带来的性能差距这么大呢?

如果亲之前没有注意到上述的现象,亲对上述的结论也是怀疑。但请看下面的分解。

在写这个文章之前,作者阅读了大量跟的IO相关的代码,如异步IO线程的相关的,innodb_buffer池相关的,以及跟读数据块最相关的核心函数buf_page_get_gen函数以及其调用的相关子函数。为了将文章写得通俗点,看起来不那么累,因此不再一行一行的将代码解析写出来。

咱们先来提问题。buf_page_get_gen函数的作用是从Buffer bool里面读数据页,可能存在以下几种情况。

提问. 数据页不在buffer bool 里面该怎么办?

回答:去读文件,将文件中的数据页加载到buffer pool里面。下面是函数buffer_read_page的函数,作用是将物理数据页加载到buffer pool, 图片中显示

buffer_read_page函数栈的顶层是pread64(),调用了操作系统的读函数。


通过解析buf_wait_for_read函数的下层函数,我们知道其实通过首先自旋加锁pin的方式,超过设定的自旋次数之后,进入等待,等待IO完成被唤醒。这样节省不停自旋pin时消耗的cpu,但需要付出被唤起时的开销。

再继续扩展问题: 如果会话线程A 经过物理IO将数据页1001读入buffer之后,他需要修改这个页,而在会话线程A之后的其他的同样需要访问数据页1001的会话线程,即使在数据页1001被入读buffer pool之后,将仍然处于等待中。因为在数据页上读取或者更新的时候,同样需要上锁,这样才能保证数据页并发读取/更新的一致性。

由此可见,当一个高并发的系统,出现了热点数据页需要从磁盘上加载到buffer pool中时,造成的延迟,是难以想象的。因此排在等待热点页队列最后的会话线程最后才得到需要的页,响应时间也就越长,这就是造成了一个简单的sql需要执行几十秒的原因。

再回头来看上面的问题,mysql数据库出现性能下降时,可以看到操作系统有读IO。 原因是,在数据库对数据页的更改,是在内存中的,然后通过检查点线程进行异步写盘,这个异步的写操作是不堵塞执行sql的会话线程的。所以,即使看到操作系统上有大量的写IO,数据库的性能也是很平稳的。但当用户线程需要查找的数据页不在buffer pool中时,则会从磁盘上读取,在一个热点数据页不是非常多的情况下,我们设置足够大的innodb_buffer_pool的size, 基本可以缓存所有的数据页,因此一般都不会出现缺页的情况,也就是在操作系统上基本看不到读的IO。 当出现读的IO时,原因时在执行buf_read_page_low函数,从磁盘上读取数据页到buffer pool, 则数据库的性能则开始下降,当出现大量的读IO,数据库的性能会非常差。

⑸ 如何检查sql数据库索引填充因子是否产生碎片以及如何处理

这是收藏的一些资料:

SQLServer提供了一个数据库命令――DBCC SHOWCONTIG――来确定一个指定的表或索引是否有碎片。
示例:
显示数据库里所有索引的碎片信息
DBCC SHOWCONTIG WITH ALL_INDEXES

显示指定表的所有索引的碎片信息
DBCC SHOWCONTIG (authors) WITH ALL_INDEXES

显示指定索引的碎片信息
DBCC SHOWCONTIG (authors,aunmind)

DBCC 执行结果:
扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索引里的页数。看看扫描页数,如果明显比你估计的页数要高,说明存在内部碎片。

扫描扩展盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC SHOWCONTIG返回的扫描扩展盘区数一致。如果DBCC SHOWCONTIG返回的数高,说明存在外部碎片。碎片的严重程度依赖于刚才显示的值比估计值高多少。

扩展盘区开关数:该数应该等于扫描扩展盘区数减1。高了则说明有外部碎片。

每个扩展盘区上的平均页数:该数是扫描页数除以扫描扩展盘区数,一般是8。小于8说明有外部碎片。

扫描密度[最佳值:实际值]:DBCC SHOWCONTIG返回最有用的一个百分比。这是扩展盘区的最佳值和实际值的比率。该百分比应该尽可能靠近100%。低了则说明有外部碎片。

逻辑扫描碎片:无序页的百分比。该百分比应该在0%到10%之间,高了则说明有外部碎片。

扩展盘区扫描碎片:无序扩展盘区在扫描索引叶级页中所占的百分比。该百分比应该是0%,高了则说明有外部碎片。

每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高说明有内部碎片,不过在你用这个数字决定是否有内部碎片之前,应该考虑fill factor(填充因子)。

平均页密度(完整):每页上的平均可用字节数的百分比的相反数。低的百分比说明有内部碎片。

解决碎片问题 :
1. 删除并重建索引
2. 使用DROP_EXISTING子句重建索引
3. 执行DBCC DBREINDEX
4. 执行DBCC INDEXDEFRAG

删除并重建索引 :

用DROP INDEX和CREATE INDEX或ALTER TABLE来删除并重建索引有些缺陷包括在删除重建期间索引会消失。在索引删除重建时,对于查询它不在可用,查询性能也许会受到明显的影响,直到重建索引为止。另一个潜在的缺陷是当都请求索引的时候会引起阻塞,直到重建索引为止。通过其他的处理也能解决阻塞,就是索引被使用的时候不删除索引。另一个主要的缺陷是在用DROP INDEX和CREATE INDEX重建聚集索引时会引起非聚集索引重建两次。删除聚集索引时非聚集索引的行指针会指向数据堆,聚集索引重建时非聚集索引的行指针又会指回聚集索引的行位置。

删除并重建索引的确有一个好处就是通过重新排序索引页,使索引页紧凑并删除不需要的索引页来完全重建索引。你也许需要考虑那些内部和外部碎片都很高的情况下才使用,以使那些索引回到它们应该在的位置。

使用DROP_EXISTING子句重建索引 :

为了避免在重建聚集索引时表上的非聚集索引重建两次,可以使用带DROP_EXISTING子句的CREATE INDEX语句。这个子句会保留聚集索引键值,以避免非聚集索引重建两次。和删除并重建索引一样,该方法也可能会引起阻塞和索引消失的问题。该方法的另一个缺陷是也强迫你去分别发现和修复表上的每一个索引。

除了和上一个方法一样的好处之外,该方法的好处是不必重建非聚集索引两次。这样可以对那些带约束的索引提供正确的索引定义以符合约束的要求。

执行DBCC DBREINDEX :

DBCC DBREINDEX类似于第二种方法,但它物理地重建索引,允许SQLServer给索引分配新页来减少内部和外部碎片。DBCC DBREINDEX也能动态的重建带约束的索引,不象第二种方法。

DBCC DBREINDEX的缺陷是会遇到或引起阻塞问题。DBCC DBREINDEX是作为一个事务来运行的,所以如果在完成之前中断了,那么你会丢失所有已经执行过的碎片。

执行DBCC INDEXDEFRAG :

DBCC INDEXDEFRAG(在SQLServer2000中可用)按照索引键的逻辑顺序,通过重新整理索引里存在的叶页来减少外部碎片,通过压缩索引页里的行然后删除那些由此产生的不需要的页来减少内部碎片。它不会遇到阻塞问题但它的结果没有其他几个方法彻底。这是因为DBCC INDEXDEFRAG跳过了锁定的页且不使用任何新页来重新排序索引。如果索引的碎片数量大的话你也许会发现DBCC INDEXDEFRAG比重建索引花费的时间更长。DBCC INDEXDEFRAG比其他方法的确有好处的是在其他过程访问索引时也能进行碎片整理,不会引起其他方法的阻塞问题。

⑹ SqlServer数据文件太大,表占用空间太大,怎么释放空间

时间充足就断线停止写入数据库,做个全备份。
删除数据库,删除数据库文件。
整理下磁盘。
重建同名数据库,恢复数据库。
这时候的空间是最紧凑的,可以试试建聚集索引。
最根本的方法是加硬盘,可能你的数据操作规律就是会产生很多碎片的,必须要有双倍的空间才行。

⑺ 电脑开始菜单中的运行程序有哪些妙用

按“开始”-“运行”,或按WIN键+R,在‘运行’窗口中输入:
(按英文字符顺序排列)
%temp%---------打开临时文件夹
.--------------C:\DocumentsandSettings\用户名所在文件夹
..-------------C:\DocumentsandSettings
...------------我的电脑
\--------------C盘
appwize.cpl----添加、删除程序
access.cpl-----辅助功能选项
Accwiz---------辅助功能向导
cmd------------CMD命令提示符
command--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cintsetp-------仓颉拼音输入法
cliconfg-------SQLSERVER客户端网络实用程序
clipbrd--------剪贴板查看器
control--------打开控制面板
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dxdiag---------检查DirectX信息
drwtsn32-------系统医生
devmgmt.msc----设备管理器
desk.cpl-------显示属性
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dvdplay--------DVD播放器
eventvwr-------一个事情查看器
eudcedit-------造字程序
explorer-------打开资源管理器
fsmgmt.msc-----共享文件夹管理器
firewall.cpl---WINDOWS防火墙
gpedit.msc-----组策略
hdwwiz.cpl-----添加硬件
iexpress-------木马捆绑工具,系统自带
inetcpl.cpl----INTETNET选项
intl.cpl-------区域和语言选项(输入法选项)
irprops.cpl----无线链接
joy.cpl--------游戏控制器
lusrmgr.msc----本机用户和组
logoff---------注销命令
main.cpl-------鼠标
mem.exe--------显示内存使用情况
migwiz---------文件转移向导
mlcfg32.cpl----邮件
mplayer2-------简易widnowsmediaplayer
mspaint--------画图板
msconfig.exe---系统配置实用程序
mstsc----------远程桌面连接
magnify--------放大镜实用程序
mmc------------打开控制台
mmsys.cpl------声音和音频设备
mobsync--------同步命令
ncpa.cpl-------网络连接
nslookup-------IP地址侦测器
netstartX----开始X服务
netstopX-----停止X服务
netstat-an----命令检查接口
netsetup.cpl---无线网络安装向导
notepad--------打开记事本
nslookup-------IP地址侦探器
narrator-------屏幕“讲述人”
ntbackup-------系统备份和还原
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
nusrmgr.cpl----用户账户
nwc.cpl--------NetWare客户服务
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
odbccp32.cpl---ODBC数据源管理器
oobe/msoobe/a-检查XP是否激活
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
powercfg.cpl---电源选项
progman--------程序管理器
regedit--------注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
regsvr32/?----调用、卸载DLL文件运行(详细请在cmd中输入regsvr32/?)
sapi.cpl-------语音
services.msc---本地服务设置
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
sndvol32-------音量控制程序
shrpubw--------共享文件夹设置工具
secpol.msc-----本地安全策略
sysdm.cpl------系统
syskey---------系统加密(一旦加密就不能解开,保护windowsxp系统的双重密码)
services.msc---本地服务设置
sfc.exe--------系统文件检查器
sfc/scannow---windows文件保护
shutdown-------关机命令(详细请在cmd中输入shutdown/?)
taskmgr--------任务管理器
telephon.cpl---电话和调制解调器选项
telnet---------远程连接程序
timedate.cpl---日期和时间
tourstart------xp简介(安装完成后出现的漫游xp程序)
tsshutdn-------60秒倒计时关机命令
utilman--------辅助工具管理器
winver---------检查Windows版本
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
wmimgmt.msc----打开windows管理体系结构(WMI)
wordpad--------写字板
wuaucpl.cpl----自动更新
wupdmgr--------windows更新程序
write----------写字板
wscript--------windows脚本宿主设置
wscui.cpl------安全中心

热点内容
卖房电话脚本 发布:2025-01-09 00:38:23 浏览:741
手机上的密码怎么改密码 发布:2025-01-09 00:35:46 浏览:293
电脑联网代理服务器出现问题 发布:2025-01-09 00:29:15 浏览:525
传统的数据存储的管理技术 发布:2025-01-09 00:22:05 浏览:555
python读字节数组 发布:2025-01-09 00:20:36 浏览:484
php关联查询 发布:2025-01-09 00:19:40 浏览:24
android手机终端 发布:2025-01-09 00:14:59 浏览:160
pdf访问被拒绝 发布:2025-01-09 00:10:44 浏览:263
星越l8at什么配置 发布:2025-01-09 00:00:17 浏览:453
vim配置python 发布:2025-01-08 23:59:29 浏览:467