使sql server数据库维护简单的批处理脚本

除了创建备份之外,SQL Server还提供了各种任务和功能,它们可以提高数据库的性能和可靠性。我们之前已经向您展示了如何使用简单的命令行脚本备份SQL Server数据库,因此我们将以同样的方式提供一个脚本,它将允许您轻松地执行常见的维护任务。...

除了创建备份之外,SQL Server还提供了各种任务和功能,它们可以提高数据库的性能和可靠性。我们之前已经向您展示了如何使用简单的命令行脚本备份SQL Server数据库,因此我们将以同样的方式提供一个脚本,它将允许您轻松地执行常见的维护任务。

压缩/收缩数据库[/Compact]

有几个因素会影响SQLServer数据库使用的物理磁盘空间。举几个例子:

  • 随着时间的推移,随着记录的添加、删除和更新,SQL不断地增长和收缩表,并生成临时数据结构来执行查询操作。为了满足磁盘存储的需要,SQLServer会根据需要增加数据库的大小(通常增加10%),这样数据库文件的大小就不会不断变化。虽然这对性能非常理想,但它可能会导致与所用存储空间断开连接,因为例如,如果您添加了大量记录,导致数据库增长并随后删除这些记录,SQL Server将不会自动回收此磁盘空间。
  • 如果在数据库上使用完全恢复模式,则事务日志文件(LDF)可能会变得相当大,尤其是在更新量很大的数据库上。

压缩(或收缩)数据库将回收未使用的磁盘空间。对于小型数据库(200 MB或更少),这通常不会太多,但是对于大型数据库(1 GB或更多),回收的空间可能会很大。

重新索引数据库[/Reindex]

就像不断地创建、编辑和删除文件会导致磁盘碎片一样,在数据库中**、更新和删除记录也会导致表碎片。实际结果是相同的,读写操作会受到性能的影响。虽然这不是一个完美的类比,但对数据库中的表重新编制索引实际上是对它们进行碎片整理。在某些情况下,这可以显著提高数据检索的速度。

由于SQLServer的工作方式,表必须单独重新编制索引。对于具有大量表的数据库来说,手动执行这项操作确实很痛苦,但是我们的脚本会命中相应数据库中的每个表并重建所有索引。

验证完整性[/Verify]

为了使数据库保持功能并产生准确的结果,必须有许多完整性项目。谢天谢地,物理和/或逻辑完整性问题并不常见,但偶尔在数据库上运行完整性验证过程并检查结果是一种很好的做法。

当验证过程通过我们的脚本运行时,只会报告错误,所以没有消息就是好消息。

使用脚本

SQLMaint批处理脚本与sql2005及更高版本兼容,必须在安装了SQLCMD工具(作为sqlserver安装的一部分安装)的计算机上运行。建议您将此脚本放到Windows路径变量(即C:Windows)中设置的位置,以便可以像从命令行调用任何其他应用程序一样轻松地调用它。

要查看帮助信息,只需输入:

SQLMaint /?

使sql server数据库维护简单的批处理脚本

示例

要使用可信连接在数据库“MyDB”上运行压缩,然后运行验证,请执行以下操作:

SQLMaint MyDB /Compact /Verify

要使用密码为“123456”的“sa”用户在命名实例“Special”上运行reindex并压缩“MyDB”:

SQLMaint MyDB /S:.Special /U:sa /P:123456 /Reindex /Compact

从批处理脚本内部使用

虽然SQLMaint批处理脚本可以像命令行中的应用程序一样使用,但是当您在另一个批处理脚本中使用它时,它的前面必须有CALL关键字。

例如,此脚本使用可信身份验证在默认SQL Server安装上的每个非系统数据库上运行所有维护任务:

@ECHO OFF SETLOCAL EnableExtensi*** SET DBList=”%TEMP%DBList.txt” SqlCmd -E -h-1 -w 300 -Q “SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE Name Not IN (‘master’,’model’,’msdb’,’tempdb’)” > %DBList% FOR /F “usebackq tokens=1” %%i IN (%DBList%) DO ( CALL SQLMaint “%%i” /Compact /Reindex /Verify ECHO +++++++++++ ) IF EXIST %DBList% DEL /F /Q %DBList% ENDLOCAL

从下载SQLMaint批处理脚本系统管理员网站

  • 发表于 2021-04-13 07:02
  • 阅读 ( 182 )
  • 分类:互联网

你可能感兴趣的文章

使用bginfo构建网络计算机的系统信息数据库

...具的一个鲜为人知的特性是能够将系统信息自动保存到SQL数据库或其他数据文件中。只需几分钟的设置工作,您就可以轻松地配置BGInfo,将所有网络计算机的系统信息记录在一个集中的存储位置。然后,您可以使用这些数据来监...

  • 发布于 2021-04-13 02:12
  • 阅读 ( 156 )

如何将sql数据库备份到网络共享

必须定期备份SQL数据库。我们已经介绍了可以轻松地将所有SQL server数据库备份到本地硬盘驱动器的方法,但这并不能防止驱动器和/或系统故障。作为针对此类灾难的额外保护层,您可以在网络共享上复制或直接创建备份。 本...

  • 发布于 2021-04-13 10:39
  • 阅读 ( 205 )

使用sql server management studio还原sql数据库备份

我们之前介绍过使用命令行进行简单的SQL数据库还原,该命令行非常适合还原在同一个SQL Server安装上创建的备份文件,但是,如果您要还原在不同安装上创建的备份,或者只是喜欢点击式界面,使用SQLServerManagementStudio(或速成...

  • 发布于 2021-04-13 11:29
  • 阅读 ( 172 )

为您的网络设置lan唤醒控制面板

...可能需要更改这些连接设置。 这个ASP.NET唤醒Lan包包含SQL数据库创建脚本,用于SQL Server上的安装程序。在运行此脚本之前,您需要对SQL文件进行一次小的更正。打开文件“C:inetpubwwwrootApp_数据模式.sql,并在突出显示的位置添加“...

  • 发布于 2021-04-13 12:18
  • 阅读 ( 175 )

铸造(cast)和转换(convert)的区别

铸造与转化 用于数据库和存储其他数学数据的各种软件的可用性极大地革新了许多工业企业的活动和标准操作程序。在所有这些计算机程序中,SQL server被证明是最简单和最实用的。 微软公司生产的sqlserver作为一种关系数据库...

  • 发布于 2021-06-23 23:54
  • 阅读 ( 209 )

ms sql服务器(ms sql server)和神谕(oracle)的区别

...赖互联网。这反过来又消除了旧日账本的使用,并导致了数据库的使用。渐渐地,我们开始使用关系数据库(RDB)来协同工作,使用更多的数据,而不必为不同的目的重新安排数据。为了处理RDB,数据库专家为这些关系数据库创...

  • 发布于 2021-06-24 23:32
  • 阅读 ( 218 )

xss公司(xss)和sql注入(sql injection)的区别

...,而不是输入实际的输入值。因此,该代码可以在网站的数据库上执行。同样,用户可以访问诸如用户名和密码之类的机密细节。因此,开发网站的程序员必须注意防止SQL注入攻击。 xss公司(xss)和sql注入(sql injection)的区别 定义 X...

  • 发布于 2021-07-02 01:23
  • 阅读 ( 398 )

数据传输系统(dts)和ssis公司(ssis)的区别

DTS是用于从源加载数据的原始服务。它用于SQL数据库。在SSIS进入市场之前,DTS用于从源加载数据。SSIS使用ETL工具。E代表提取,T代表变换,L代表加载。DTS能够与Microsoft分开使用,并使用其他一些数据库。数据传输系统(dts) vs. ssi...

  • 发布于 2021-07-11 16:47
  • 阅读 ( 335 )

windows服务器(windows server)和linux服务器(linux server)的区别

...Microsoft技术 支持PHP、Perl、Python和其他Unix语言的脚本。 数据库 一般来说,它支持microsoftsqlserver和Access数据库 一般支持MySQL和Postgre数据库。 示例 Windows 2000 Server、Windows Server 2012等。 Ubuntu、Debian等。 应用程序要求 ASP ClassicASP...

  • 发布于 2021-07-13 15:31
  • 阅读 ( 274 )

启动sql server代理:配置sql server 2012

...预定义的作业类别。例如,您可以为日常维护作业选择“数据库维护”类别。 使用大说明文本字段提供工作目的的详细说明。用这样的方式写它,让某人(包括你自己!)从现在起几年后就能看到它并理解这份工作的目的。 最...

  • 发布于 2021-09-06 15:20
  • 阅读 ( 161 )
psgq6110
psgq6110

0 篇文章

相关推荐