zoukankan      html  css  js  c++  java
  • 数据库重新连接存储

    --当客户端使用连接池访问数据库时,客户端使用OPEN来重用数据库连接,使用CLOSE来断开数据库连接,但并不物理上新建和断开连接,因此可以提高程序运行速度并降低性能损耗。

    --ADO和ADO.NET程序会默认启用连接池
    --如果一个连接未提交或回滚事务便在客户端显示close,则事务会被一直保持到该连接被重用时被释放.
    --第一次建立的连接不会调用sp_reset_connection
     
    --sp_reset_connection会在SQLSERVER里做些什么?
    --1、清除连接现有所有内部数据结构。包括:
    --清除所有openxml打开的document句柄
    --关闭所有的游标(cursor)
    --释放所有SQL语句句柄
    --清除所有临时对象(临时表等)
    --释放连接持有的所有锁
    --清除缓存的所有安全上下文信息(security context)
     
    --2、重置连接设置。包括:
    --重置连接的SQL Trace标志值
    --重置所有"SET" 选项值(SET IMPLICIT_TRANSACTIONS ON 等)
    --重置连接的统计信息值
     
     
    --3、回滚所有SQLSERVER事务
    --需要说明的是,如果连接当前参与了一个由客户端发起的分布式事务,这个分布式事务不会受到影响。在SQL里的事务还会被保留
     
    --4、把当前数据库切换到用户默认数据库
     
    --5、SQLSERVER会再次检查当前用户是否有权做数据库连接。如果这个权限已被移除SQLSERVER会中断这个物理连接(这样防止一个已经被取消访问权的用户还能长时间使用数据库的问题)

  • 相关阅读:
    将博客搬至CSDN
    05 Python字符串的通用操作
    02 Shell变量
    01 Shell脚本编程入门知识
    windows10安装Python环境
    03 Python数值类型及数字类型详解
    02 变量和语句
    01 交互解释器
    poi.jar处理excel表
    (41)java并发包中的线程池种类及特性介绍
  • 原文地址:https://www.cnblogs.com/qiu18359243869/p/11819812.html
Copyright © 2011-2022 走看看