最大程度缓解 SQL Server 中的磁盘 I/O 争用情况
在采用相应方法来避免 ArcSDE for Microsoft SQL Server 数据库中的磁盘 I/O 争用情况时,可以考虑以下提供的建议。有关下面提到的 SQL Server 概念(如 tempdb 和文件组)的论述,请参阅《SQL Server 联机丛书》文档。
- 为数据文件指定较大的初始大小,然后使用 SQL Server Management Studio 增加数据库和事务日志文件的自动增长增量。(在增加自动增长增量之前,进行初始备份。)
- 在远离分页文件的位置存储所有数据文件、事务日志文件和 tempdb,除非您确定服务器从不分页。将数据文件与事务日志文件和 tempdb 分开。注意:
只有当您确定采用数据分离策略可以提高性能或减轻管理负担时,才采用数据分离策略(将表与索引分开,或者将某些类型的表与其他表分开)。
- 使 AUTO_CREATE_STATISTICS 和 AUTO_UPDATE_STATISTICS 数据库选项保持启用状态。禁用 AUTOSHRINK 和 AUTOCLOSE。
- 采用硬件带区解决方案,支持对文件组和文件使用 RAID。
- 增加网络包大小设置的大小。
ArcSDE for Microsoft SQL Server 将几何存储在要素表的 varbinary(max) 数据类型列中。几个地理数据库网络表使用 varbinary(max) 类型列。Microsoft 建议在使用 varbinary(max) 数据类型列时,增大网络包大小的设置。网络包大小是在应用程序与关系数据库引擎之间通信时使用的表格数据方案 (TDS) 包的大小。默认包大小为 4 KB,并且由网络包大小配置选项加以控制。
ArcSDE 将该值默认设置为 8,192,这是其默认设置 4,096K 的两倍。也可以使用 sp_configure 语句的网络包大小设置使该值变成 SQL Server 实例的全局设置。
sp_configure 'show advanced options',1 reconfigure with override GO sp_configure 'network packet size',8192 reconfigure with override GO
3/7/2012