我想知道当用户从我的ASP.NET应用程序插入或更新某些数据时,记录的最佳做法是什么。
在我的应用程序中,我需要知道哪个用户进行了更改,我认为我必须选择:
将我的ASP.NET用户注册到SQL Server中,为他们添加所需表的权限,并为每个用户存储 个别连接字符串。因此我可以使用当前登录 用户连接到数据库时的连接字符串,以便我 可以为SELECT和UPDATE编写T-SQL触发器。
我想到的另一个选项是我可以编写将ASP.NET用户名作为输入参数的存储过程并制作 我的日志,(我在应用程序中只使用一个连接字符串)。 从应用程序修改数据库后,我会称之为 提供当前登录用户的用户名的程序。
第二个选项对我来说似乎更简单,但我认为为此我应该选择第一个选项。
答案 0 :(得分:1)
转到第二个选项。管理数据库中的用户会给您带来更多麻烦,如果您必须移动数据库服务器会发生什么?您需要更新所有用户的所有连接字符串。它只会产生额外的管理开销。
此外,如果您需要记录数据库中的所有更改,那么我已经提出了一些我过去使用过的东西来存储随时间对数据库所做的所有更改。看看,它可能会有用。
http://richhooper.wordpress.com/2012/06/11/sql-server-row-level-versioning/