亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統 1666 0
原文: 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 。

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

特殊屬性 xsi:nil xsi:type 作為常規屬性存儲,不能查詢和修改。

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

用于將 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 列屬性可能錯誤地命名為約束。例如, CREATE TABLE T (C1 int CONSTRAINT MyConstraint IDENTITY) 語句可以執行,但約束名不會保留,也無法讓用戶訪問。

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

使用雙向賦值(如 UPDATE T1 SET @v = column_name = <expression> )來更新列會產生意外后果,因為在語句執行過程中,可以在其他子句(如 WHERE 和 ON 子句)中使用變量的實時值,而不是使用語句起始值。這會導致謂詞的含義無法預測地逐行變化。

只有在兼容級別設置為 90 時,此行為才適用。

使用雙向賦值來更新列會產生預期的結果,因為在語句執行過程中,只會訪問列的語句起始值。

在包含頂級 UNION 運算符的語句中,允許使用變量賦值,但會返回意外的結果。例如,在以下語句中,將來自兩個表的聯合的 EmployeeID 列的值賦給局部變量 @v 。按照定義,如果 SELECT 語句返回多個值,則將返回的最后一個值賦給變量。在這種情況下,會正確地將最后一個值賦給變量,但還會返回 SELECT UNION 語句的結果集。


復制代碼
                      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;
                    

在包含頂級 UNION 運算符的語句中不允許變量賦值。返回錯誤 10734。

若要糾正該錯誤,請重寫查詢,如下例所示。


復制代碼
                      DECLARE @v int;

SELECT @v = EmployeeID FROM 

    (SELECT EmployeeID FROM HumanResources.Employee

     UNION ALL

     SELECT EmployeeID FROM HumanResources.EmployeeAddress) AS Test

SELECT @v;
                    

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應該記住的系統存儲過程:

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查詢命令積累——不斷更新


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 爱爱免费播放视频在线观看 | 中文字幕 亚洲一区 | 美女一级毛片免费不卡视频 | 综合精品一区 | 国产精品综合网 | 一级毛片免费观看久 | 久久久久久不卡 | 一及 片日本 | 亚洲国产激情在线一区 | 免费观看国产精品视频 | 免费观看欧美一级高清 | 高清二区 | 久久久久久噜噜噜久久久精品 | www.啪啪.com | 亚洲综合免费视频 | 欧美亚洲第一区 | 久久er99热这里只是精品 | 国产欧美另类久久精品91 | 国产麻豆精品高清在线播放 | xxxx日本在线播放免费不卡 | 久久99亚洲综合精品首页 | 日本一级毛片视频在线看 | 久久高清一区二区三区 | 国产99精品一区二区三区免费 | 欧洲视频一区 | 免费深夜福利 | 欧美第一精品 | 久久亚洲精品国产亚洲老地址 | ww欧美 | 国产99视频精品草莓免视看 | 国产欧美一区二区另类精品 | 午夜国产精品福利在线观看 | 欧美肥婆xxxx欧美另类 | 天天操天天射天天爽 | 国产精品久久久久免费视频 | 性视频一区 | 国产精品久久成人影院 | 四虎视频在线精品免费观看 | 亚洲精品久久精品h成人 | 久久免费观看爱情动作片 | 欧美日韩一 |