(4.40)sql server默认连接选项

摘要:
2 setarithaboroff在登录会话中,ARITHABORT应始终设置为ON。将ARITHABOT设置为OFF可能会对查询优化产生负面影响,从而导致性能问题。当column_Name包含空值时,使用WHERE column_ Name=null的SELECT语句仍然返回零行。7setconcat_null_yields_NullonON:连接空值和字符串将生成空结果。例如:SELECT“abc”+NULL将生成NULL。OFF:空值将作为空字符串处理。例如:SELECT“abc”+NULL将生成abc.8setcursor_close_on_CommitofON:符合ISO标准,并在提交或回滚时关闭所有打开的游标。OFF:则提交事务时光标不会关闭。9setimplicit_TransactionsoffON:隐式事务模式,即默认情况下,每个SQL操作都启动一个事务。用户必须在事务结束时显式提交或回滚事务。

一、SQLserver 默认连接选项

当我们连接sqlserver数据库时,我们发现Sqlserver Profiler 里面的Audit Login 事件:

-- network protocol: TCP/IP

1    set quoted_identifieron

2    set arithabortoff

3    set numeric_roundabortoff

4    set ansi_warningson

5    set ansi_paddingon

6    set ansi_nullson

7    set concat_null_yields_nullon

8    set cursor_close_on_commitoff

9    set implicit_transactionsoff

10   set language 简体中文

11   set dateformat ymd

12   set datefirst7

13   set transaction isolation level read committed

1    set quoted_identifier on

ON:表示标识符可以由双引号分隔,而文字必须由单引号分隔. eg:

 select * from "students"where "name"='lili'.

OFF: 文字可以用单引号,也可以用双引号.

(1)当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。

(2)当在计算列或索引视图上创建或操作索引时,SET QUOTED_IDENTIFIER 必须为 ON。如果 SET QUOTED_IDENTIFIER 为 OFF,则计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。

2    set arithabort off

在登录会话中,应始终将 ARITHABORT 设置为 ON。 将 ARITHABORT 设置为 OFF 可能对查询优化产生负面影响,进而导致性能问题。

3    set numeric_roundabort off

ON: 在表达式中出现精度损失时将生成错误。

OFF:精度损失不生成错误信息,并且将结果舍入为存储结果的列或变量的精度。

4    set ansi_warnings on

ON:

(1)如果聚合函数(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出现空值,将生成警告消息.

(2) 被零除错误和算术溢出错误将导致回滚语句,并生成错误消息。

OFF:

(1)不发出警告.

(2)被零除错误和算术溢出错误将导致返回空值。

5    set ansi_padding on

推荐设置为:ON

6    set ansi_nulls on

ON:

(1)在执行分布式查询时应将 SET ANSI_NULLS 设置为 ON。

(2)当 column_name 中包含空值,使用 WHERE column_name =NULL 的 SELECT 语句仍返回零行。 即使 column_name 中包含非空值,使用 WHERE column_name<> NULL 的 SELECT 语句仍会返回零行。

OFF:

(1) 使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。

7    set concat_null_yields_null on

ON:串联空值与字符串将产生 NULL 结果.eg:SELECT 'abc' + NULL 将生成 NULL.

OFF:空值作为空字符串处理.eg: SELECT 'abc' + NULL 将生成 abc.

8    set cursor_close_on_commit off

ON:遵从 ISO 标准,在提交或回滚时关闭所有打开的游标.

OFF:则在提交事务时将不关闭游标.

9    set implicit_transactions off

ON:

  (1)隐式事物模式,即每句sql操作默认开启事物,用户必须在该事务结束时将其显式(手动commit)提交或回滚。否则,当用户断开连接时,事务及其包含的所有数据更改将被回滚。

  (2)当SET IMPLICIT_TRANSACTIONS 为 ON 时执行 BEGIN TRANSACTION 语句会导致打开两个嵌套的事务;外层的rollback会回滚掉内层事务的所有commit修改.

OFF: 切换到「自动提交模式」下,所有单个语句在成功完成时将被提交。

set implicit_transactionson

select @@TRANCOUNT--查看事务个数

begin transaction -- 显式调用事务

update test..studentsset passwd='123456' where name='lili'

commit transaction

--Commit outstanding transaction.

COMMIT TRANSACTION;

sample:

10   set language 简体中文

11   set dateformat ymd

12   set datefirst7s

13   set transaction isolation level read committed

   (4.40)sql server默认连接选项第1张

二、如何设置这些属性

1. 在数据源中设置

该设置可以在 ODBC 数据源、ODBC 连接属性或 OLE DB 连接属性(它们在连接到 SQL Server 实例之前在应用程序中设置)中进行配置。

(控制面板->管理工具->数据源ODBC)

  (4.40)sql server默认连接选项第2张

 2. 在服务器端设置:(√可设置开启)

   (4.40)sql server默认连接选项第3张

参考

微软中国TechNet:https://technet.microsoft.com/zh-cn/library/ms190356(v=sql.120).aspx
————————————————

原文链接:https://blog.csdn.net/sunquana/article/details/47687517

免责声明:文章转载自《(4.40)sql server默认连接选项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇web服务器iis安全设置IDE调研之二下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jQuery获取Select选择的Text和Value(详细汇总)

语法解释:  1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkVa...

mysql 关于 不可重复读与幻读的解决方案【del】

http://www.cnblogs.com/itcomputer/articles/5133254.html 不可重复读和幻读的区别  当然,   从总的结果来看,   似乎两者都表现为两次读取的结果不一致.但如果你从控制的角度来看,   两者的区别就比较大对于前者,   只需要锁住满足条件的记录对于后者,   要锁住满足条件及其相近的记录 ------...

mysql时间表示和计算

计算:天数 SELECTDATEDIFF('2015-06-29','2015-06-12') ASDiffDate   表示: DATE_FORMAT(date,format)  根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)  %W 星期名字(Sunday…...

第12章 DOM操作

目录 *1. 向DOM中注入HTML 1.1 将HTNL字符串转换成DOM 预处理HTML源字符串 包装HTML 1.2 将DOM元素插入到文档中 2. DOM的特性和属性通过DOM方法和属性访问特性值 3. 令人头疼的样式特性 3.1 样式在何处 3.2 样式属性命名一种访问样式的简单方法 3.3 获取计算后样式 3.4 测量元...

statement 、prepareStatement的用法和解释

转自:http://blog.csdn.net/QH_JAVA/article/details/48245945 一、prepareStatement 的用法和解释 1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程 2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Stateme...

git把测试分支误合并到开发分支后的回滚操作

场景:正常开发流程,我们会从master分支上拉一个新分支作为开发分支进行开发,但是在开发过程中有伙伴把测试分支合并到了开发分支,最后如果把开发分支合并回master分支的话,master分支会多了测试分支的代码,这些代码可能在其他开发模块还没上线,可能会导致生产环境出现异常,那么,如何从开发分支撤销掉从测试分支合并过来的代码呢? 分支如下图   思路:如...