数据库选项:为什么默认情况下“SET ANSI_NULLS OFF”对于新数据库是关闭的?

2024-02-16

使用 SSMS 2014:

当我使用 SSMS 创建新数据库时,新数据库的默认设置有一些奇怪的地方

ALTER DATABASE [del] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [del] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [del] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [del] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [del] SET ARITHABORT OFF 

当我测试脚本和存储过程时,似乎 ANSI_NULLS 实际上是 ON 的。

我很困惑为什么在创建数据库时像 ANSI_NULLS 这样重要的设置是 OFF 的?以及它如何在我的脚本中变为ON?


它如何在我的脚本中变为ON?

使用 SET 语句设置的连接级设置会覆盖 ANSI_NULLS 的默认数据库设置。
默认情况下,在连接到 SQL Server 实例时,ODBC 和 OLE DB 客户端会发出连接级 SET 语句,将会话的 ANSI_NULLS 设置为 ON。

我很困惑为什么在创建数据库时像 ANSI_NULLS 这样重要的设置是 OFF 的?

我已经创建了空值关闭和打开的数据库,但是每次我尝试插入时,客户端驱动程序都会为我生成这些设置选项

下面是 MSDN 对此的说法。

在 SQL Server 的未来版本中,ANSI_NULLS 将始终为 ON,任何显式将该选项设置为 OFF 的应用程序都会产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

最接近,我可以想到为什么这个选项设置为ON,可能是由于兼容性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库选项:为什么默认情况下“SET ANSI_NULLS OFF”对于新数据库是关闭的? 的相关文章

  • 如何在SQL Server中创建SYS模式的表?

    可以在 SQL Server 2008 sys 架构中创建表吗 我知道可以将表标记为系统 但不能更改架构 有什么窍门吗 您无法将自己的对象添加到 sys 架构中 无法在 sys 架构中创建用户定义的对象 盖尔 埃里克森 MS SQL Ser
  • 如何在 T-SQL 中实现 ZIP JOIN?

    假设我有表 Foo Id Color 1 Red 2 Green 3 Blue 4 NULL 和表 Bar Value 1 2 5 我想使用简单的语句创建表 Result 来获取 Id Color Value 1 Red 1 2 Green
  • 在 T-SQL 中解析 JSON 数组

    在我们的 SQL Server 表中 我们有一个存储有字符串数组的 json 对象 我想以编程方式将该字符串拆分为几列 但是 我似乎无法让它发挥作用 或者即使有可能 是否可以在WITH子句中创建多个列 或者在select语句中创建多个列是更
  • WinForms 应用程序设计 - 将文档从 SQL Server 移动到文件存储

    我有一个连接到 SQL Server 的标准 WinForms 应用程序 该应用程序允许用户上传当前存储在数据库中的文档 在使用图像列的表中 我需要更改这种方法 以便将文档存储为文件 并将文件的链接存储在数据库表中 使用当前的方法 当用户上
  • 需要 SQL Server 查询帮助

    我在视图中存储一堆数据 将 MS Access 查询转换为视图 现在我想做的是编写一个存储过程来根据添加数据的时间提取数据 这是我正在运行的查询 Select Name PlanID ApptDate 1stAppt rn from Sel
  • SQL Server 2008 R2 的 Try_Convert

    我正在使用 SQL Server 2008 R2 并且有一个VARCHAR我想要转换为的列DECIMAL 28 10 using CONVERT 但其中许多行的格式错误 因此无法将它们解析为数字 在这种情况下 我只想通过将结果设置为 0 或
  • 使用 Switch 的报告服务表达式

    我无法让这个表达式与报告服务一起使用 我必须使用 IF 和 ELSE IF 语句 感谢您的任何建议 Switch IsNothing Fields field date Value Fields set flag Value 1 Decli
  • 如何授予所有表的 REFERENCES 权限

    我必须授予REFERENCES登录权限说sql login 我可以给予资助REFERENCES对单个表的权限 例如 GRANT REFERENCES ON Mytable TO sql login 有什么办法可以授予REFERENCES允许
  • 将大量实体插入 SQL Server 2012 [重复]

    这个问题在这里已经有答案了 我正在进行一个使用 Entity Framework 5 和 SQL Server 2012 的项目 我们需要一次插入大量行 100k 个实体的顺序 基本上 我们有一个物理程序 它输出大量二进制数据 然后我们需要
  • 如何在 SQL Server 中的特定字符后分割字符串并将该值更新到特定列

    我有包含数据的表格1 1 to 1 20在一列中 我想要值 1 到 20 即 前斜杠 之后的值更新到 SQL Server 中同一表中的其他列 Example 专栏有价值1 1 1 2 1 3 1 20新列值1 2 3 20 也就是说 我要
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?

    我正在尝试从我们公司创建的网站中提取内容 我在 MSSQL Server 中为 Scrapy 数据创建了一个表 我还设置了 Scrapy 并配置了 Python 来抓取和提取网页数据 我的问题是 如何将Scrapy爬取的数据导出到我本地的M
  • 选择具有 SQL Server XML 列类型的特定行

    我正在尝试从类似于以下定义的表中选择数据 Column Data Type Id Int DataType Int LoggedData XML 但我只想选择具有特定 DataType 值并且在 LoggedData 列中包含字符串 或评估
  • 实体框架 - SQL Server 2005 - IIS 服务器日期时间问题

    我正在使用 MVC3 和实体框架 在我的应用程序中 我需要通过 EF 调用 SQL Server 2005 中的存储过程来根据以下内容搜索一些数据datetime传递的参数 在当地环境中一切似乎都运行良好 但是将其托管到 IIS 后 我在尝
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 为什么我的 CASE 语句要求 THEN 部分的数据类型为 INT?

    我正在尝试运行一个查询 其中以下 CASE 语句是其中一行 我正在使用报表生成器 3 0 但是 我收到一条错误消息 将 varchar 值 Case 1 转换为 int 数据类型时转换失败 Microsoft SQL Server 错误 2
  • 可以获取SQL Server中当前执行的存储过程的行号吗?

    几年前 我在 Sybase Delphi 环境中工作 使用 BDE 连接到数据库服务器 我们有一个 Delphi 小应用程序 给定当前正在执行的存储过程的名称 它可以告诉您当前正在执行该存储过程的哪一行 这对于调试似乎挂起的存储过程非常有用
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 如何跨多个表强制执行 CHECK 约束

    我有一个在 Microsoft SQL Server 2012 Express 中记录奶牛繁殖信息的数据库 显然 一头牛只有在出生后才能配种 并且在其一生中可能会配种多次 我需要在我的数据库中强制执行这些约束 我目前已经根据下图安排了一个架

随机推荐

  • React-redux:如何编写集成测试

    我在用Enzyme测试我的反应和还原部分 我阅读了周围的内容 发现为组件编写集成测试也是一个很好的做法 所以 这很简单 因为我必须调用操作创建者并根据存储检查它们的更新值 但我有一些返回的异步操作dispatch行动 登录 actions
  • 调整浏览器窗口大小时调整网格大小

    我用了一个填满整个窗口 http mleibman github com SlickGrid examples example12 fillbrowser html作为默认示例 尝试调整浏览器窗口的大小 但是用于网格的区域是相同的 需要重新
  • 如何从AccessibilityNodeInfo获取webview

    我正在创建一个需要使用 AccessibilityService 的应用程序 并且获取其他应用程序的窗口内容也是没有问题的 我已从窗口内容中检测到所有可用的子项 并且该子项显示在 AccessibilityNodeInfo 中 现在我在 A
  • log4net 每次运行一个文件

    我需要我的应用程序在每次运行时创建一个日志文件 我的首选格式是App log yyyy MM dd HH mm ss 如果那不可能 我会满足App log yyyy MM dd counter 这是我当前的附加程序配置
  • 最值得一读的Python模块

    我已经学习Python有一段时间了 我对其特性有了很好的了解 但我想改进我的编码风格 我认为阅读 Python 模块的源代码是个好主意 有谁可以特别推荐一下吗 相关主题 寻找美观且具有指导意义的 Python 代码的初学者 https st
  • 到 Web 服务的 XMLHttpRequest 在 Web Worker 中不起作用

    如果从主 javascript 调用 下面的代码可以完美运行 但它不会在 Web Worker 中运行 function getSpecData detailLvl startWeek endWeek mkt var params deta
  • Xcode 5 升级 - 现在 nsobject.h 存在类“NSObject”的重复接口定义错误

    我昨晚升级到了 X Code 5 现在 当我继续开发我的一个 iOS 应用程序 在以前的 Xcode 版本上编译得很好 时 我遇到了一个似乎无法解决的错误 当我构建应用程序时 出现编译错误 duplicate interface defin
  • iOS 5.x 和 iOS 6 调用 application:didFinishLaunchingWithOptions: 的次数不同

    Subj 在 iOS 5 x 中 我得到了方法调用的下一个结果 UIViewController initWithCoder UIApplicationDelegate didFinishLaunchingWithOptions UIVie
  • 容器适配器不支持迭代器

    在一篇关于 STL 的 C 文章中 有人说 由于容器适配器不支持迭代器 因此它们不能与 STL 算法一起使用 但它没有解释为什么容器适配器不支持迭代器 有人能给我同样的解释吗 具有迭代器的堆栈或队列有什么意义 根据定义 堆栈是只能压入和弹出
  • 使用 ggplot 绘制栅格因子值

    我在使用 ggplot2 绘制具有因子值的栅格时遇到问题 library ggplot2 library raster 首先 加载栅格数据 f lt system file external test grd package raster
  • Dart PetitParser 获取使用 ExpressionBuilder 创建的 AST 数据结构

    我是 petitparser 的新手 但它看起来像是解析器的声波螺丝刀 对于我的第一个项目 我正在构建代码来解析一个简单的表达式 该表达式构建 Node 对象的 AST 树 然后使用一些规则遍历该树以最小化不需要的括号 我不知道要传递什么到
  • 通过浏览器原生 Facebook 登录体验

    我见过这个问题的几种风格 但没有具体的答案 所以我自己尝试一下 我正在尝试通过浏览器在我的基于 Facebook 的应用程序中构建 Facebook 登录体验 这将要求用户尽可能不记住他们的密码 这意味着如果 他们通过桌面浏览器登录并且已经
  • Hibernate子对象不保存

    我有一个员工和员工部门表 一名员工可以拥有多个部门 我已经在 MySQL 中定义了表并使用 JPA 生成了实体 package model import java io Serializable import javax persisten
  • 使用prepareForSegue作为按钮

    您好 我以编程方式创建按钮并将按钮连接到另一个视图 但我遇到了 segue 问题 我应该对故事板使用prepareForSegue方法 但我不知道互联网上有一些示例 但当我使用该示例时我会收到错误 请你帮助我 提前致谢 这是我的代码 创建按
  • Ruby,堆栈级别太深(SystemStackError)

    我有以下代码 class BookPrice attr accessor price def initialize price price price end def price in cents Integer price 100 0 5
  • 如何在 Qt 中设置适用于 Windows 的应用程序版本?

    When my application crashes the Windows Event Viewer always reports my application version as 0 0 0 0 I can t figure how
  • 访问第三方库中的 web.config 文件

    我正在编写一个 IHttpFilter 它需要位于一个单独的项目 这些都是 C 项目 中 以便在一组 ASP NET MVC 应用程序中使用 在 IHttpFilter 中 我必须确定 web config 文件中指定的一些内容 有没有办法
  • jQuery 追加元素(如果不存在),否则替换

    这是一小段代码 var el something find test if el length something append div class test somecontent div else el replaceWith div
  • 从 C 调用 PHP

    我正在尝试编写一个使用 PHP 作为脚本语言的应用程序 该应用程序是一个 CGI 处理程序 我希望能够从中调用 PHP 页面 我正在寻找可以让我在 C 程序中初始化 PHP 的代码 然后向其传递包含 php 代码的缓冲区或文件名 以供其解析
  • 数据库选项:为什么默认情况下“SET ANSI_NULLS OFF”对于新数据库是关闭的?

    使用 SSMS 2014 当我使用 SSMS 创建新数据库时 新数据库的默认设置有一些奇怪的地方 ALTER DATABASE del SET ANSI NULL DEFAULT OFF GO ALTER DATABASE del SET