如何在SQLEXPRESS中恢复表?

时间:2017-12-24 10:23:55

标签: sql sql-server sql-server-express

我是sql场景的新手,我按预期犯了一个错误。

image

我正在为视频游戏运行私人服务器,当我尝试激活/停用某些区域时,我不小心将0作为区域的名称。问题是,由于错误说明:

,我无法将其更改回来
Microsoft SQL Server Management Studio
---------------------------
No row was updated.

The data in row 42 was not committed.
Error Source: Microsoft.SqlServer.Management.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(3 rows).

Correct the errors and retry or press ESC to cancel the change(s). 

1 个答案:

答案 0 :(得分:2)

如果您不知道这些值,那么:

如果没有审核此数据库的触发器,则可以使用第三方工具根据数据库日志文件读取对数据库所做的最新更改。但请确保日志文件没有缩小。

您可以使用ApexSQL Log之类的工具试用版获取过去的值。

如果不起作用,那么您的数据就会丢失。您必须获得数据库的旧版本

如果您知道已更改的值:

您必须向表中添加标识列,更改值,然后再将其删除。因为像@MartinSmith那样评论你收到的错误是因为表中没有找到主键而且你有很多重复的行

使用以下sql命令添加标识列

ALTER TABLE [MyTable] ADD ID INT IDENTITY(1,1)