我目前正在使用 MSSQL 2008R2 数据库,该数据库经常使用以下 SET 命令:
SET ANSI_NULLS { ON | OFF }
SET QUOTED_IDENTIFIER { ON | OFF }
SET ANSI_PADDING { ON | OFF }
Run Code Online (Sandbox Code Playgroud)
在研究这些设置时,我偶然发现了 Microsoft 技术网(链接)上有关 ANSI_NULLS 的以下说明:
在 Microsoft SQL Server 的未来版本中,ANSI_PADDING 将始终为 ON,并且任何将该选项显式设置为 OFF 的应用程序都将产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
因此,我想强制执行“全局”设置。我一直在寻找一天中最好的部分,但据我所知,您可以随时更改这些设置。为了完全确定我想问这里:
是否可以强制执行 ANSI_NULLS ON 之类的设置或禁用在“任何”级别更改这些设置的可能性。我想用它来测试如果禁用将特定选项设置为 OFF 的能力,数据库是否会“存活”。
我希望我能够描述我的问题。这不是我的母语。提前致谢。
PS:在 StackOverflow 上,我也被建议在这里问这个问题。原问题:这里
permissions sql-server-2008-r2 configuration sql-server-2012
我目前正在使用 SQL Server 2008 R2 服务器和一个数据库,该数据库使用了大量表,这些表是 ANSI_PADDED 设置的混合包。90% 的表都有带有 Ansi Padding 的列,AND 列带有 Ansi Padding 关闭。
我现在的任务是“转换”这些表,以便每一列都使用 Ansi_Padding ON。
我想知道最简单的方法是什么?
我应该编写一个“转换”一个表的脚本,但最后我将需要一个更改所有表的脚本。
sql-server-2008-r2 configuration sql-server-2012 sql-standard