Sql-Server

SQL Server 2017 Enterprise vs Standard - 線上索引和線上架構更改

  • April 29, 2018

我通讀了 Microsoft 的“ SQL Server 2017 的版本和支持的功能”文件來比較企業版和標準版之間的功能差異。

標準中沒有引起我注意的兩件事是:

  1. 線上索引
  2. 線上模式更改

這是否從字面上意味著您不能創建和修改索引或表(以及其他對象?)而不首先使數據庫離線,或者 Microsoft 是否意味著只有特定的操作您不能做,如果是這樣,我在哪裡可以了解更多關於哪些操作需要使數據庫離線?

混淆似乎與措辭有關-線上/離線在這種情況下有點令人困惑。

它指的是正在執行的操作(重新索引或表更改)是否線上執行,而不是對象的狀態是線上還是離線。線上意味著對像上沒有排他鎖,因此可能會被其他查詢/操作訪問。離線意味著它被操作鎖定,無論如何都不能被其他查詢觸及。

Enterprise 的好處是我可以進行架構更改或索引維護,並且不會(潛在地)對其他正在執行的查詢產生不利影響。這並不意味著不會使用其他限制較少的鎖(行級、頁級),但這確實意味著我沒有完全被排除在對象之外。但是,它並不能保證事情會保持不變,因為還有許多其他因素會影響到這一點。查看您有興趣執行的各個命令,以查看可能影響鎖定行為的無數選項。

例如,我看到一個線上索引重組最終有效地將表與所有其他SELECT語句鎖定在一起,直到我調整MAXDOP它正在使用的,即使它實際上並沒有鎖定整個表。

對像不能聯機或離線,但數據庫可以(儘管與本主題無關)。

資源:

引用自:https://dba.stackexchange.com/questions/205190