Sql-Server
SQL Server 2017 Enterprise vs Standard - 線上索引和線上架構更改
我通讀了 Microsoft 的“ SQL Server 2017 的版本和支持的功能”文件來比較企業版和標準版之間的功能差異。
標準中沒有引起我注意的兩件事是:
- 線上索引
- 線上模式更改
這是否從字面上意味著您不能創建和修改索引或表(以及其他對象?)而不首先使數據庫離線,或者 Microsoft 是否意味著只有特定的操作您不能做,如果是這樣,我在哪裡可以了解更多關於哪些操作需要使數據庫離線?
混淆似乎與措辭有關-線上/離線在這種情況下有點令人困惑。
它指的是正在執行的操作(重新索引或表更改)是否線上執行,而不是對象的狀態是線上還是離線。線上意味著對像上沒有排他鎖,因此可能會被其他查詢/操作訪問。離線意味著它被操作鎖定,無論如何都不能被其他查詢觸及。
Enterprise 的好處是我可以進行架構更改或索引維護,並且不會(潛在地)對其他正在執行的查詢產生不利影響。這並不意味著不會使用其他限制較少的鎖(行級、頁級),但這確實意味著我沒有完全被排除在對象之外。但是,它並不能保證事情會保持不變,因為還有許多其他因素會影響到這一點。查看您有興趣執行的各個命令,以查看可能影響鎖定行為的無數選項。
例如,我看到一個線上索引重組最終有效地將表與所有其他
SELECT
語句鎖定在一起,直到我調整MAXDOP
它正在使用的,即使它實際上並沒有鎖定整個表。對像不能聯機或離線,但數據庫可以(儘管與本主題無關)。
資源: