共用方式為


動態資料指標 (Database Engine)

靜態資料指標的相反就是動態資料指標。捲動資料指標時,動態資料指標會反映其結果集之中變更的資料列。每回擷取時結果集之中資料列的資料值、順序和成員均會變動。您可以透過資料指標看到所有使用者執行的全部 UPDATE、INSERT 和 DELETE 陳述式作業。若是藉由使用 API 函數 (如:SQLSetPos 或 Transact-SQL WHERE CURRENT OF 子句) 的資料指標來進行更新,您會馬上看到更新。至於資料指標外的更新必須經過認可後才看得見,除非資料指標交易隔離等級設定為讀取未認可。

ms189099.note(zh-tw,SQL.90).gif附註:
如果選擇用來執行動態資料指標查詢的執行計劃正在使用堆積掃描,且現在的情況是已取得分頁或資料表鎖定,那麼刪除資料列可能會導致整個分頁被取消配置。在此情況下,動態資料指標用來定位的標記可能會失效,且後續從資料指標提取的動作可能會失敗,並產生錯誤 16931。可行的解決方法包括:在資料表上建立叢集索引、使用不同的資料指標類型,或是評估是否可能防止分頁及資料表層級的鎖定。
ms189099.note(zh-tw,SQL.90).gif附註:
在 SQL Server 2005 中,動態資料指標工作資料表的更新永遠都是即時性的。也就是說,即使索引鍵資料行的變更只是更新的一部份,但目前的資料列還是會重新整理。在 SQL Server 2000 中,目前的資料列會被標示成已刪除 (就像非即時更新的索引鍵集資料指標一樣),但是該資料列不會插入到工作資料表的結尾 (而索引鍵集資料指標則會)。結果就是資料指標重新整理作業找不到該資料列,並報告該資料列遺失。而 SQL Server 2005 則會同步保留資料指標工作資料表,且重新整理作業能夠找到該資料列,因為它有新的索引鍵。