DBA查询命令积累——不断更新
一、服务器配置:
1、兼容级别:兼容级别只影响指定数据库中的行为,而不会影响整个服务器上的行为。
1.1、查看数据库兼容级别及更改兼容级别:
SELECT compatibility_level FROM sys.databases WHERE name=DB_NAME()
1.2、更改兼容级别:将某些数据库行为设置为与指定的 SQL Server 版本兼容。
sp_dbcmptlevel [ [ @dbname = ] name ]
[ , [ @new_cmptlevel = ] version ]
--上面的命令有可能在后续取消,所以建议使用下面语句:
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }
权限
只有数据库所有者、sysadmin 固定服务器角色和 db_owner 固定数据库角色的成员(前提是您要更改当前数据库)才能执行此过程。
较低兼容级别和级别 100 之间的差异
| 兼容级别设置为 90 或更低 | 兼容级别设置为 100 | 影响的可能性 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
对于多语句表值函数,在创建它们时,无论会话级别设置如何,QUOTED_IDENTIFER 设置始终为 ON。 |
在创建多语句表值函数时,会遵循 QUOTED IDENTIFIER 会话设置。 |
中 |
||||||||
|
在创建或更改分区函数时,会评估函数中的 datetime 和 smalldatetime 文字,并假定语言设置为 US_English。 |
使用当前语言设置来评估该分区函数中的 datetime 和 smalldatetime 文字。 |
中 |
||||||||
|
INSERT 和 SELECT INTO 语句中允许使用(但会忽略)FOR BROWSE 子句。 |
INSERT 和 SELECT INTO 语句中不允许使用 FOR BROWSE 子句。 |
中 |
||||||||
|
OUTPUT 子句中允许使用全文谓词。 |
OUTPUT 子句中不允许使用全文谓词。 |
低 |
||||||||
|
不支持 CREATE FULLTEXT STOPLIST、ALTER FULLTEXT STOPLIST 和 DROP FULLTEXT STOPLIST。系统非索引字表自动与新的全文索引相关联。 |
支持 CREATE FULLTEXT STOPLIST、ALTER FULLTEXT STOPLIST 和 DROP FULLTEXT STOPLIST。 |
低 |
||||||||
|
MERGE 不作为保留关键字强制应用。 |
MERGE 是完全保留的关键字。在 100 和 90 兼容级别下,都支持 MERGE 语句。 |
低 |
||||||||
|
使用 INSERT 语句的 <dml_table_source> 参数会引发语法错误。 |
您可以捕获嵌套的 INSERT、UPDATE、DELETE 或 MERGE 语句中 OUTPUT 子句的结果,然后将这些结果插入目标表或视图。这通过使用 INSERT 语句的 <dml_table_source> 参数来实现。 |
低 |
||||||||
|
除非指定 NOINDEX,否则 DBCC CHECKDB 或 DBCC CHECKTABLE 将对单个表或索引视图及其所有非聚集索引和 XML 索引同时执行物理和逻辑一致性检查。不支持空间索引。 |
除非指定 NOINDEX,否则 DBCC CHECKDB 或 DBCC CHECKTABLE 将对单个表及其所有非聚集索引同时执行物理和逻辑一致性检查。但是,在默认情况下,仅对 XML 索引、空间索引和索引视图执行物理一致性检查。 如果指定了 WITH EXTENDED_LOGICAL_CHECKS,则将对索引视图、XML 索引和空间索引(如果存在)执行逻辑检查。默认情况下,先执行物理一致性检查,然后执行逻辑一致性检查。如果还指定了 NOINDEX,则仅执行逻辑检查。 |
低 |
||||||||
|
如果将 OUTPUT 子句和数据操作语言 (DML) 语句一起使用,并且在语句执行过程中发生运行时错误,则会终止并回滚整个事务。 |
如果将 OUTPUT 子句和数据操作语言 (DML) 语句一起使用,并且在语句执行过程中发生运行时错误,则行为取决于 SET XACT_ABORT 设置。如果 SET XACT_ABORT 设置为 OFF,则由使用 OUTPUT 子句的 DML 语句所生成的语句中止错误将终止该语句,但批处理的执行仍会继续,并且不会回滚事务。如果 SET XACT_ABORT 设置为 ON,则由使用 OUTPUT 子句的 DML 语句所生成的全部运行时错误都将终止批处理,并回滚事务。 |
低 |
||||||||
|
CUBE 和 ROLLUP 不作为保留关键字强制应用。 |
CUBE 和 ROLLUP 是 GROUP BY 子句中的保留关键字。 |
低 |
||||||||
|
对 XML anyType 类型的元素应用严格验证。 |
对 XML anyType 类型的元素应用宽松验证。有关详细信息,请参阅通配符组成部分和内容验证。 |
低 |
||||||||
|
数据操作语言语句不能查询或修改特殊属性 xsi:nil 和 xsi:type。 这意味着 |
特殊属性 xsi:nil 和 xsi:type 作为常规属性存储,不能查询和修改。 例如,执行查询 |
低 |
||||||||
|
用于将 XML 常量字符串值转换为 SQL Server datetime 类型的用户定义函数被标记为确定的。 |
用于将 XML 常量字符串值转换为 SQL Server datetime 类型的用户定义函数被标记为不确定的。 |
低 |
||||||||
|
不完全支持 XML 联合和列表类型。 |
完全支持联合和列表类型,包括以下功能:
|
低 |
||||||||
|
当视图或内联表值函数中包含 xQuery 方法时,不对该方法所需的 SET 选项进行验证。 |
当视图或内联表值函数中包含 xQuery 方法时,对该方法所需的 SET 选项进行验证。如果该方法的 SET 选项设置不正确,将引发一个错误。 有关所需选项设置的详细信息,请参阅设置选项(XML 数据类型)。 |
低 |
||||||||
|
包含行尾字符(回车符和换行符)的 XML 属性值不根据 XML 标准进行规范化。即返回回车符和换行符,而不是单个换行符。 |
包含行尾字符(回车符和换行符)的 XML 属性值会根据 XML 标准进行规范化。也就是说,外部已分析实体(包括文档实体)中的所有换行符都会在输入时进行规范化,方法是将两字符序列 #xD #xA 和后面没有跟 #xA 的所有 #xD 都转换为单个 #xA 字符。 使用属性来传输包含行尾字符的字符串值的应用程序接收到的这些字符将和提交时有所不同。若要避免规范化过程,请使用 XML 数字字符实体对所有行尾字符进行编码。 |
低 |
||||||||
|
ROWGUIDCOL 和 IDENTITY 列属性可能错误地命名为约束。例如, |
ROWGUIDCOL 和 IDENTITY 列属性不能命名为约束。返回错误 156。 |
低 |
||||||||
|
使用双向赋值(如 只有在兼容级别设置为 90 时,此行为才适用。 |
使用双向赋值来更新列会产生预期的结果,因为在语句执行过程中,只会访问列的语句起始值。 |
低 |
||||||||
|
在包含顶级 UNION 运算符的语句中,允许使用变量赋值,但会返回意外的结果。例如,在以下语句中,将来自两个表的联合的
|
在包含顶级 UNION 运算符的语句中不允许变量赋值。返回错误 10734。 若要纠正该错误,请重写查询,如下例所示。
|
低 |
||||||||
|
ODBC 函数 {fn CONVERT()} 使用语言的默认日期格式。对于有些语言,默认格式为 YDM,这会导致在将 CONVERT() 与要求使用 YMD 格式的其他函数(如 {fn CURDATE()})结合使用时出现转换错误。 |
在转换为 ODBC 数据类型 SQL_TIMESTAMP、SQL_DATE、SQL_TIME、SQLDATE、SQL_TYPE_TIME 和 SQL_TYPE_TIMESTAMP 时,ODBC 函数 {fn CONVERT()} 使用样式 121(一种独立于语言的 YMD 格式)。 |
低 |
||||||||
|
ODBC 函数 {fn CURDATE()} 仅返回“YYYY-MM-DD”格式的日期。 |
ODBC 函数 {fn CURDATE()} 同时返回日期和时间,例如“YYYY-MM-DD hh:mm:ss”。 |
低 |
||||||||
|
日期时间内部函数(如 DATEPART)不需要字符串输入值,即可成为有效的日期时间文字。例如,SELECT DATEPART (year, '2007/05-30') 可以成功编译。 |
日期时间内部函数(如 DATEPART)需要字符串输入值,才能成为有效的日期时间文字。在使用无效的日期时间文字时,会返回错误 241。 |
低 |
||||||||
二、DBA应该记住的系统存储过程:
| 系统存储过程 | 用处 |
| sp_help | 查看对象的相关说明 |
| sp_helpdb | 查看数据库的相关属性 |
| sp_who | 列出目前连接属性 |
| sp_dboption | 设置数据库的属性 |
| sp_tableoption | 设置数据表的选项 |
| sp_configure | 配置SQLServer服务器 |
| sp_executesql | 执行SQL语句 |
| sp_helptext | 查看对象内容 |
| sp_lock | 查看数据库锁定情况 |
| sp_who2 | 显示连接的被锁定情况 |
| sp_depends | 查看对象的依赖对象 |
| sp_addmessage | 增加系统信息 |
DBA查询命令积累——不断更新的更多相关文章
- MongoDb进阶实践之六 MongoDB查询命令详述(补充)
一.引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入,对查询又有了新的东西,决定补充进来.如果大家想看上一篇有关MongoDB查询的 ...
- Android系统代码查询命令集合
Android系统代码查询命令集合 *#06# 显示MEID *#*#4636#*#* 显示版本,或更新相机韧体 *#*#7594#*#* 当长按关机按钮时,会出现一个切换手机部分设置及更改设定 WL ...
- ELK查询命令详解
目录 ELK查询命令详解 倒排索引 使用ElasticSearch API 实现CRUD 批量获取文档 使用Bulk API 实现批量操作 版本控制 什么是Mapping? 基本查询(Query查询) ...
- ELK查询命令详解总结
目录 ELK查询命令详解 倒排索引 倒排索引原理 分词器介绍及内置分词器 使用ElasticSearch API 实现CRUD 批量获取文档 使用Bulk API 实现批量操作 版本控制 什么是Map ...
- mysql8数据库修改root密码,以及创建用户遇到的坑,开启远程登录,用navicat进行mysql的远程连接,mysql8.0默认编码方式,部分参数配置查询命令
yum 安装MySQL8 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【Linux高频命令专题(8)】五大查询命令
find 格式 find 路径 -命令参数 [输出形式] 路径:告诉find在哪儿去找你要的东西 命令参数:参考下面 输出形式:输出形式很多,-print,-printf,-print,-exec,- ...
- MySQL常用的查询命令
MySQL常用的查询命令 author: headsen chen 2017-10-19 10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...
- AD域控Dsquery查询命令实列
注:请以管理员的身份运行cmd程序,要不然某些命令不生效 AD域控Dsquery查询命令实列 查询技术支持二部的所有用户 dsquery user OU=技术支持二部,OU=技术部, ...
随机推荐
- 模拟Post
string d = "http://search.anccnet.com/searchResult2.aspx"; //name="__VIEWSTATE" ...
- Hive综合HBase——经Hive阅读/书写 HBase桌子
社论: 本文将Hive与HBase整合在一起,使Hive能够读取HBase中的数据,让Hadoop生态系统中最为经常使用的两大框架互相结合.相得益彰. watermark/2/text/aHR0cDo ...
- sitemap.xml
内部类 在类内部的类 1.解决多继承 2.解决继承和实现接口时候方法名冲突情况 3.实现数据隐藏 只有内部类可以拥有4种访问修饰符 当内部类为private的时候,有外部类提供方法来访问内部类 常规 ...
- Xamarin For Visual Studio 3.7.165 完整离线破解版
原文 Xamarin For Visual Studio 3.7.165 完整离线破解版 Xamarin For Visual Studio就是原本的Xamarin For Android 以及 Xa ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block 开发人员经常编写需要安全功能的应用程序.这些应用程序 ...
- xamarin之 安装工具介绍
原文:xamarin之 安装工具介绍 思考: 1, 一定要按照顺序安装吗? 先装JDK,再装Android SDK 原因:Android SDK采用了Java语言 先装Android SDK,再装A ...
- Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_1
以下是一些设计略显繁琐,有必要清除思维. 下一个主要的成就,当我们点击Gobutton后,得到一个随机数骰子,是走了几步,它是基于以下步骤行走路径的数目,然后移动位置的基于角色的路径. 流程如图普遍认 ...
- lua 远程调试 【zeroBrane 使用mobdebug】(good转)
最近基于业务需求,学习了如何使用zeroBrane这个IDE实现C/S 模式下的 lua远程调试,废话不多,上效果图: ---------------------------------------- ...
- Java面试题集(136-150)
摘要:目,尽管仅仅有15道题目.可是包括的信息量还是非常大的,非常多题目背后的解题思路和算法是非常值得玩味的. 136.给出以下的二叉树先序.中序.后序遍历的序列? 答:先序序列:ABDEGHCF.中 ...
- linux 下上传 datapoint数据到yeelink 修改版本
/*client.c*/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include ...