黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

DBA查詢命令積累——不斷更新

系統(tǒng) 2077 0
原文: DBA查詢命令積累——不斷更新

一、服務(wù)器配置:

1、兼容級(jí)別:兼容級(jí)別只影響指定數(shù)據(jù)庫(kù)中的行為,而不會(huì)影響整個(gè)服務(wù)器上的行為。

1.1、查看數(shù)據(jù)庫(kù)兼容級(jí)別及更改兼容級(jí)別:

SELECT compatibility_level FROM sys.databases WHERE name=DB_NAME()


1.2、更改兼容級(jí)別:將某些數(shù)據(jù)庫(kù)行為設(shè)置為與指定的 SQL Server 版本兼容。

    sp_dbcmptlevel [ [ @dbname = ] name ] 

    [ , [ @new_cmptlevel = ] version ]


  

--上面的命令有可能在后續(xù)取消,所以建議使用下面語(yǔ)句:

    ALTER DATABASE database_name 

SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }


  

權(quán)限
只有數(shù)據(jù)庫(kù)所有者、sysadmin 固定服務(wù)器角色和 db_owner 固定數(shù)據(jù)庫(kù)角色的成員(前提是您要更改當(dāng)前數(shù)據(jù)庫(kù))才能執(zhí)行此過(guò)程。

較低兼容級(jí)別和級(jí)別 100 之間的差異

兼容級(jí)別設(shè)置為 90 或更低 兼容級(jí)別設(shè)置為 100 影響的可能性

對(duì)于多語(yǔ)句表值函數(shù),在創(chuàng)建它們時(shí),無(wú)論會(huì)話級(jí)別設(shè)置如何,QUOTED_IDENTIFER 設(shè)置始終為 ON。

在創(chuàng)建多語(yǔ)句表值函數(shù)時(shí),會(huì)遵循 QUOTED IDENTIFIER 會(huì)話設(shè)置。

在創(chuàng)建或更改分區(qū)函數(shù)時(shí),會(huì)評(píng)估函數(shù)中的 datetime smalldatetime 文字,并假定語(yǔ)言設(shè)置為 US_English。

使用當(dāng)前語(yǔ)言設(shè)置來(lái)評(píng)估該分區(qū)函數(shù)中的 datetime smalldatetime 文字。

INSERT 和 SELECT INTO 語(yǔ)句中允許使用(但會(huì)忽略)FOR BROWSE 子句。

INSERT 和 SELECT INTO 語(yǔ)句中不允許使用 FOR BROWSE 子句。

OUTPUT 子句中允許使用全文謂詞。

OUTPUT 子句中不允許使用全文謂詞。

不支持 CREATE FULLTEXT STOPLIST、ALTER FULLTEXT STOPLIST 和 DROP FULLTEXT STOPLIST。系統(tǒng)非索引字表自動(dòng)與新的全文索引相關(guān)聯(lián)。

支持 CREATE FULLTEXT STOPLIST、ALTER FULLTEXT STOPLIST 和 DROP FULLTEXT STOPLIST。

MERGE 不作為保留關(guān)鍵字強(qiáng)制應(yīng)用。

MERGE 是完全保留的關(guān)鍵字。在 100 和 90 兼容級(jí)別下,都支持 MERGE 語(yǔ)句。

使用 INSERT 語(yǔ)句的 <dml_table_source> 參數(shù)會(huì)引發(fā)語(yǔ)法錯(cuò)誤。

您可以捕獲嵌套的 INSERT、UPDATE、DELETE 或 MERGE 語(yǔ)句中 OUTPUT 子句的結(jié)果,然后將這些結(jié)果插入目標(biāo)表或視圖。這通過(guò)使用 INSERT 語(yǔ)句的 <dml_table_source> 參數(shù)來(lái)實(shí)現(xiàn)。

除非指定 NOINDEX,否則 DBCC CHECKDB 或 DBCC CHECKTABLE 將對(duì)單個(gè)表或索引視圖及其所有非聚集索引和 XML 索引同時(shí)執(zhí)行物理和邏輯一致性檢查。不支持空間索引。

除非指定 NOINDEX,否則 DBCC CHECKDB 或 DBCC CHECKTABLE 將對(duì)單個(gè)表及其所有非聚集索引同時(shí)執(zhí)行物理和邏輯一致性檢查。但是,在默認(rèn)情況下,僅對(duì) XML 索引、空間索引和索引視圖執(zhí)行物理一致性檢查。

如果指定了 WITH EXTENDED_LOGICAL_CHECKS,則將對(duì)索引視圖、XML 索引和空間索引(如果存在)執(zhí)行邏輯檢查。默認(rèn)情況下,先執(zhí)行物理一致性檢查,然后執(zhí)行邏輯一致性檢查。如果還指定了 NOINDEX,則僅執(zhí)行邏輯檢查。

如果將 OUTPUT 子句和數(shù)據(jù)操作語(yǔ)言 (DML) 語(yǔ)句一起使用,并且在語(yǔ)句執(zhí)行過(guò)程中發(fā)生運(yùn)行時(shí)錯(cuò)誤,則會(huì)終止并回滾整個(gè)事務(wù)。

如果將 OUTPUT 子句和數(shù)據(jù)操作語(yǔ)言 (DML) 語(yǔ)句一起使用,并且在語(yǔ)句執(zhí)行過(guò)程中發(fā)生運(yùn)行時(shí)錯(cuò)誤,則行為取決于 SET XACT_ABORT 設(shè)置。如果 SET XACT_ABORT 設(shè)置為 OFF,則由使用 OUTPUT 子句的 DML 語(yǔ)句所生成的語(yǔ)句中止錯(cuò)誤將終止該語(yǔ)句,但批處理的執(zhí)行仍會(huì)繼續(xù),并且不會(huì)回滾事務(wù)。如果 SET XACT_ABORT 設(shè)置為 ON,則由使用 OUTPUT 子句的 DML 語(yǔ)句所生成的全部運(yùn)行時(shí)錯(cuò)誤都將終止批處理,并回滾事務(wù)。

CUBE 和 ROLLUP 不作為保留關(guān)鍵字強(qiáng)制應(yīng)用。

CUBE 和 ROLLUP 是 GROUP BY 子句中的保留關(guān)鍵字。

對(duì) XML anyType 類型的元素應(yīng)用嚴(yán)格驗(yàn)證。

對(duì) XML anyType 類型的元素應(yīng)用寬松驗(yàn)證。有關(guān)詳細(xì)信息,請(qǐng)參閱通配符組成部分和內(nèi)容驗(yàn)證。

數(shù)據(jù)操作語(yǔ)言語(yǔ)句不能查詢或修改特殊屬性 xsi:nil xsi:type

這意味著 /e/@xsi:nil 失敗,同時(shí) /e/@* 忽略 xsi:nil xsi:type 屬性。但是, /e 返回 xsi:nil xsi:type 屬性,以保持與 SELECT xmlCol 的一致性,即使 xsi:nil = "false" 也是如此。

特殊屬性 xsi:nil xsi:type 作為常規(guī)屬性存儲(chǔ),不能查詢和修改。

例如,執(zhí)行查詢 SELECT x.query('a/b/@*') 會(huì)返回包括 xsi: nil xsi: type 在內(nèi)的所有屬性。若要在查詢中排除這些類型,請(qǐng)用 @*[namespace-uri(.) != " insert xsi namespace uri " 替換 @* ,而不是用 (local-name(.) = "type" local-name(.) ="nil" 來(lái)替換。

用于將 XML 常量字符串值轉(zhuǎn)換為 SQL Server datetime 類型的用戶定義函數(shù)被標(biāo)記為確定的。

用于將 XML 常量字符串值轉(zhuǎn)換為 SQL Server datetime 類型的用戶定義函數(shù)被標(biāo)記為不確定的。

不完全支持 XML 聯(lián)合和列表類型。

完全支持聯(lián)合和列表類型,包括以下功能:

  • 列表的聯(lián)合

  • 聯(lián)合的聯(lián)合

  • 原子類型的列表

  • 聯(lián)合的列表

當(dāng)視圖或內(nèi)聯(lián)表值函數(shù)中包含 xQuery 方法時(shí),不對(duì)該方法所需的 SET 選項(xiàng)進(jìn)行驗(yàn)證。

當(dāng)視圖或內(nèi)聯(lián)表值函數(shù)中包含 xQuery 方法時(shí),對(duì)該方法所需的 SET 選項(xiàng)進(jìn)行驗(yàn)證。如果該方法的 SET 選項(xiàng)設(shè)置不正確,將引發(fā)一個(gè)錯(cuò)誤。

有關(guān)所需選項(xiàng)設(shè)置的詳細(xì)信息,請(qǐng)參閱設(shè)置選項(xiàng)(XML 數(shù)據(jù)類型)。

包含行尾字符(回車符和換行符)的 XML 屬性值不根據(jù) XML 標(biāo)準(zhǔn)進(jìn)行規(guī)范化。即返回回車符和換行符,而不是單個(gè)換行符。

包含行尾字符(回車符和換行符)的 XML 屬性值會(huì)根據(jù) XML 標(biāo)準(zhǔn)進(jìn)行規(guī)范化。也就是說(shuō),外部已分析實(shí)體(包括文檔實(shí)體)中的所有換行符都會(huì)在輸入時(shí)進(jìn)行規(guī)范化,方法是將兩字符序列 #xD #xA 和后面沒(méi)有跟 #xA 的所有 #xD 都轉(zhuǎn)換為單個(gè) #xA 字符。

使用屬性來(lái)傳輸包含行尾字符的字符串值的應(yīng)用程序接收到的這些字符將和提交時(shí)有所不同。若要避免規(guī)范化過(guò)程,請(qǐng)使用 XML 數(shù)字字符實(shí)體對(duì)所有行尾字符進(jìn)行編碼。

ROWGUIDCOL 和 IDENTITY 列屬性可能錯(cuò)誤地命名為約束。例如, CREATE TABLE T (C1 int CONSTRAINT MyConstraint IDENTITY) 語(yǔ)句可以執(zhí)行,但約束名不會(huì)保留,也無(wú)法讓用戶訪問(wèn)。

ROWGUIDCOL 和 IDENTITY 列屬性不能命名為約束。返回錯(cuò)誤 156。

使用雙向賦值(如 UPDATE T1 SET @v = column_name = <expression> )來(lái)更新列會(huì)產(chǎn)生意外后果,因?yàn)樵谡Z(yǔ)句執(zhí)行過(guò)程中,可以在其他子句(如 WHERE 和 ON 子句)中使用變量的實(shí)時(shí)值,而不是使用語(yǔ)句起始值。這會(huì)導(dǎo)致謂詞的含義無(wú)法預(yù)測(cè)地逐行變化。

只有在兼容級(jí)別設(shè)置為 90 時(shí),此行為才適用。

使用雙向賦值來(lái)更新列會(huì)產(chǎn)生預(yù)期的結(jié)果,因?yàn)樵谡Z(yǔ)句執(zhí)行過(guò)程中,只會(huì)訪問(wèn)列的語(yǔ)句起始值。

在包含頂級(jí) UNION 運(yùn)算符的語(yǔ)句中,允許使用變量賦值,但會(huì)返回意外的結(jié)果。例如,在以下語(yǔ)句中,將來(lái)自兩個(gè)表的聯(lián)合的 EmployeeID 列的值賦給局部變量 @v 。按照定義,如果 SELECT 語(yǔ)句返回多個(gè)值,則將返回的最后一個(gè)值賦給變量。在這種情況下,會(huì)正確地將最后一個(gè)值賦給變量,但還會(huì)返回 SELECT UNION 語(yǔ)句的結(jié)果集。


復(fù)制代碼
                      ALTER DATABASE AdventureWorks2008R2

SET compatibility_level = 90;

GO

USE AdventureWorks2008R2;

GO

DECLARE @v int;

SELECT @v = EmployeeID FROM HumanResources.Employee

UNION ALL

SELECT @v = EmployeeID FROM HumanResources.EmployeeAddress;

SELECT @v;
                    

在包含頂級(jí) UNION 運(yùn)算符的語(yǔ)句中不允許變量賦值。返回錯(cuò)誤 10734。

若要糾正該錯(cuò)誤,請(qǐng)重寫查詢,如下例所示。


復(fù)制代碼
                      DECLARE @v int;

SELECT @v = EmployeeID FROM 

    (SELECT EmployeeID FROM HumanResources.Employee

     UNION ALL

     SELECT EmployeeID FROM HumanResources.EmployeeAddress) AS Test

SELECT @v;
                    

ODBC 函數(shù) {fn CONVERT()} 使用語(yǔ)言的默認(rèn)日期格式。對(duì)于有些語(yǔ)言,默認(rèn)格式為 YDM,這會(huì)導(dǎo)致在將 CONVERT() 與要求使用 YMD 格式的其他函數(shù)(如 {fn CURDATE()})結(jié)合使用時(shí)出現(xiàn)轉(zhuǎn)換錯(cuò)誤。

在轉(zhuǎn)換為 ODBC 數(shù)據(jù)類型 SQL_TIMESTAMP、SQL_DATE、SQL_TIME、SQLDATE、SQL_TYPE_TIME 和 SQL_TYPE_TIMESTAMP 時(shí),ODBC 函數(shù) {fn CONVERT()} 使用樣式 121(一種獨(dú)立于語(yǔ)言的 YMD 格式)。

ODBC 函數(shù) {fn CURDATE()} 僅返回“YYYY-MM-DD”格式的日期。

ODBC 函數(shù) {fn CURDATE()} 同時(shí)返回日期和時(shí)間,例如“YYYY-MM-DD hh:mm:ss”。

日期時(shí)間內(nèi)部函數(shù)(如 DATEPART)不需要字符串輸入值,即可成為有效的日期時(shí)間文字。例如,SELECT DATEPART (year, '2007/05-30') 可以成功編譯。

日期時(shí)間內(nèi)部函數(shù)(如 DATEPART)需要字符串輸入值,才能成為有效的日期時(shí)間文字。在使用無(wú)效的日期時(shí)間文字時(shí),會(huì)返回錯(cuò)誤 241。



二、DBA應(yīng)該記住的系統(tǒng)存儲(chǔ)過(guò)程:

DBA常用系統(tǒng)存儲(chǔ)過(guò)程
系統(tǒng)存儲(chǔ)過(guò)程 用處
sp_help 查看對(duì)象的相關(guān)說(shuō)明
sp_helpdb 查看數(shù)據(jù)庫(kù)的相關(guān)屬性
sp_who 列出目前連接屬性
sp_dboption 設(shè)置數(shù)據(jù)庫(kù)的屬性
sp_tableoption 設(shè)置數(shù)據(jù)表的選項(xiàng)
sp_configure 配置SQLServer服務(wù)器
sp_executesql 執(zhí)行SQL語(yǔ)句
sp_helptext 查看對(duì)象內(nèi)容
sp_lock 查看數(shù)據(jù)庫(kù)鎖定情況
sp_who2 顯示連接的被鎖定情況
sp_depends 查看對(duì)象的依賴對(duì)象
sp_addmessage 增加系統(tǒng)信息



DBA查詢命令積累——不斷更新


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論