小编iok*_*ins的帖子

在对驱动器进行碎片整理之前停止 SQL Server 服务?

我们的生产 SQL Server 2005 数据库的数据文件位于一个单独的物理驱动器上,Microsoft Windows 2003 的磁盘碎片整理程序工具报告为 99% 是碎片化的。

我们安排了一个任务,在星期六早上 3:00 对这个驱动器进行碎片整理。作业在 40 分钟后完成,没有明显错误。但是,驱动器仍然严重碎片化。

我们应该在整理碎片之前停止 SQL Server 服务吗?

语境

每个上下文请求:我们有一个 Microsoft SQL Server 2005 实例 (9.00.5324.00) 在 Dell PowerEdge 2950 硬件上运行 32 位 Windows Server 2003 (SP2),大约 2007 年,具有 4GB RAM。PowerEdge 2950 有四个 68GB 驱动器配置为 RAID-1 以创建两个 68GB 虚拟磁盘:(1) C(引导和操作系统)&D(页面文件,其他杂项数据);(2) E(SQL 数据)。据我所知,IT 人员从未对这些驱动器进行过碎片整理……磁盘碎片整理程序报告的文件碎片率为 66% (C)、77% (D) 和99% (E)。性能监视器报告以下平均结果:“分页文件:使用率百分比”= ~6.8%;“SQL Server:缓冲区管理器 - 页面预期寿命”= 20 秒;和“PhysicalDisk:平均磁盘秒/写入,驱动器 E”= 之间 300 和 1,. 我们将在几个月内进行急需的硬件和 SQL Server 升级(即,新硬件、64 位 Windows …

sql-server maintenance storage

8
推荐指数
2
解决办法
7389
查看次数

总计列 - 如果为零或 NULL 则为空白

报告当前计算“总计”列,如下所示:

,CASE WHEN ISNULL(CLM_BREAKFAST_TYPEA.MealsA, 0) +
           ISNULL(CLM_BREAKFAST_TYPEB.MealsB, 0) = 0                 
      THEN ''
      ELSE CONVERT(VARCHAR(15), 
           ISNULL(CLM_BREAKFAST_TYPEA.MealsA, 0) +
           ISNULL(CLM_BREAKFAST_TYPEB.MealsB, 0)) 
      END AS 'MealsTotal'
Run Code Online (Sandbox Code Playgroud)

当总数等于零而不是 NULL 或“0”时,如何获得空白单元格,并避免进行两次计算?

null sql-server t-sql

-1
推荐指数
1
解决办法
1465
查看次数

标签 统计

sql-server ×2

maintenance ×1

null ×1

storage ×1

t-sql ×1