SSMS v17.4中系统版本化表无“Edit Top 200 Rows”右键选项咨询
Great question! Yes, this is a known limitation in SSMS versions prior to 18.x—including your v17.4. The UI hides the "Edit Top 200 Rows" option for system-versioned tables because older SSMS builds didn’t properly handle the linked history table when performing direct row edits. Microsoft addressed this gap in later releases.
Here are your best options to resolve this:
Upgrade SSMS to version 18.x or newer: This is the cleanest solution. Newer SSMS versions fully support editing system-versioned tables via the UI—you’ll get the "Edit Top 200 Rows" option back, and the tool will automatically manage the history table when you make changes (so you don’t lose version tracking).
Use T-SQL for edits (no upgrade needed): If upgrading isn’t feasible right now, you can modify rows directly using standard T-SQL commands. For example:
-- Update a specific row in your system-versioned table UPDATE YourTableName SET YourColumn = 'UpdatedValue' WHERE YourPrimaryKey = 123;To view the top 200 rows, run a
SELECT TOP 200 * FROM YourTableNamequery, then craft the correspondingUPDATE/INSERTstatements based on the changes you need to make.Temporarily disable system-versioning (last resort): While you could turn off system-versioning with
ALTER TABLE YourTableName SET SYSTEM_VERSIONING = OFFto use the UI edit option, this is not recommended—it breaks the historical tracking that system-versioning provides. Only do this if you have an urgent need and can re-enable versioning immediately after editing.
内容的提问来源于stack exchange,提问作者user9393635

