【发布时间】:2019-06-18 06:58:40
【问题描述】:
我使用 Sql Server 数据库来记录我的游戏日志。每一个动作都会被记录到一个特定的表中。我正在使用存储过程来记录日志,每天大约 50k 个日志。
最近我注意到它没有记录所有提交的日志。有时我只有 2000 条日志,有时我有 100,000 条。我找不到导致此问题的代码有任何问题。
一秒钟内可以调用多少个存储过程?
掉线这么多电话的原因可能是什么?
我可以做些什么来确保所有的调用都被插入到表中?
使用普通调用而不是存储过程调用会有所帮助吗?
【问题讨论】:
-
你应该为你的 sp. 添加错误处理。如果您的表中有标识字段,请检查它是否存在差距,如果存在差距,您的交易将被回滚
-
SQL Server 不会掉线。如果记录丢失,则意味着您的存储过程失败。无论叫什么,它都应该记录失败。这个存储过程是怎么调用的?或者可能是查询没有返回您期望的记录数量。至少没有存储过程的源代码,就无法提供帮助。
-
I can't find anything wrong with my code to cause this.你在任何地方都使用catch{}吗?你记录异常吗?
标签: sql sql-server database