易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 2005索引碎片整理SQL语句

/*******************************************************/
/*         功能:SQL Server 2005索引碎片整理            */
/*              逻辑碎片>=30重建索引,<30重新组织索引   */
/*******************************************************/
/***********SQL Server 2005索引碎片整理*****************/
/**使用方法:将需要整理索引碎片的数据库设置为当前数据库**/
set nocount on
--使用游标重新组织指定库中的索引,消除索引碎片
--R_T层游标取出当前数据库所有表
declare R_T cursor
for select name from sys.tables
declare @T varchar(50)
open r_t
fetch next from r_t into @t
while @@fetch_status=0
begin
--R_index游标判断指定表索引碎片情况并优化
declare R_Index cursor
for select t.name,i.name,s.avg_fragmentation_in_percent from sys.tables t
  join sys.indexes i on i.object_id=t.object_id
  join sys.dm_db_index_physical_stats(db_id(),object_id(@T),null,null,'limited') s
   on s.object_id=i.object_id and s.index_id=i.index_id
declare @TName varchar(50),@IName varchar(50),@avg int,@str varchar(500)
open r_index
fetch next from r_index into @TName,@Iname,@avg
while @@fetch_status=0
begin
  if @avg>=30  --如果碎片大于30,重建索引
  begin
   set @str='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' rebuild'
  end
  else   --如果碎片小于30,重新组织索引
  begin
   set @STR='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' reorganize'
  end
  print @str
  exec (@str)  --执行
  fetch next from r_index into @TName,@Iname,@avg
end
--结束r_index游标
close r_index
deallocate r_index
fetch next from r_t into @t
end
--结束R_T游标
close r_t
deallocate r_t
set nocount off
/*
--查看指定表的索引情况
select t.name,i.name,s.avg_fragmentation_in_percent from sys.tables t
join sy


相关文档:

SQL中的in和exists的区别

在网上看到一个很好的例子讲解in和exists的区别,这里备忘下。
本示例所示查询查找由位于以字母 B 开头的城市中的任一出版商出版的书名:
USE pubs
SELECT title
from titles WHERE EXISTS
    (SELECT *
    from publishers
    WHERE pub_id = titles.pub_id ......

SQL Server 2000 重命名数据库

某项目之前的数据库有变化,但是以前写的程序是支持老数据库的,新数据库有一些问题,需要修改,但是数据库就重复了,于是就要把开发机上之前的数据库重新命名。
这里记录一下步骤(旧名称:MobileMsg,新名称:MobileMsg_old):
1、关掉企业管理器,打开查询分析器;
2、修改数据库名称:
EXEC sp_dboption 'MobileMs ......

SQL数据库恢复模型(日志)

----------------------------------------------------------------------
1、SQL数据库恢复模型
----------------------------------------------------------------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信 ......

SQL查询每行中最大值的技巧

--------------------------------------------------------------------------
--  Author : htl258(Tony)
--  Date   : 2010-04-23 08:08:36
--  Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
--          Jul  ......

SQL Server Management Studio连接服务器时指定端口号

      今天想连接SQL Server服务器时发现没法连接,发现端口号不是默认的端口号,需要指定端口号,刚开始以为是IP地址加冒号再端口号就行了,结果发现没用,google一把发现原来不是冒号,是逗号,哈。比如:127.0.0.1,1451 , 格式就是:[IP],[Port] 。 完毕。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号