SQL Server 2005 数据访问与查询设计全解析
1. 设计应用程序访问
在 SQL Server 2005 中,连接数据库应始终使用 SQL Native Client,它不仅具备实现 SQL Server 2005 所需的全部功能,还与 SQL Server 早期版本向后兼容。管理 SQL Server 客户端的工具多样,包括 SQL Server 配置管理器、表面区域配置(SAC)工具、安装程序和 ODBC 数据源管理器。
可以利用对象模型库管理和编写各种数据库对象脚本,如服务器管理对象(SMO)、复制管理对象(RMO)和分析服务自动化管理对象(AMO)。SQL Server 2005 中的异步连接依赖于 SQL Server 网络接口(SNI),这是一种新的通信格式,客户端与服务器之间的所有通信都通过 TDS 端点完成。
SQL Server 2005 对多活动结果集(MARS)的支持为应用程序开发提供了更多选择,它是简化应用程序设计的轻量级替代方案。但需注意,MARS 并非能很好扩展的游标策略的替代品。MARS 是一种编程模型增强,允许在数据库服务器中交错执行多个请求,若使用得当,可能带来性能提升。不过,由于 MARS 使用行版本控制等技术,需要额外的资源,如内存、磁盘空间和锁定资源。
要从 MARS 中获得最大效益,可参考以下要点:
- 利用同一 MARS 连接执行尽可能多的读取操作,读取操作可交错进行,并使用行级版本控制。
- 使用不同连接执行写入操作,写入操作不能交错,需独占运行并获取锁。
- 为事务请求使用单独的连接,遵循每个物理请求一个事务的规则,即使在 MARS 下,事务请求也会完整运行,因此尽可能使