第一个疑问:-我们需要为Select sql语句创建TranscationScope吗?在我的ASP.NET MVC应用程序中,我尝试使用TranscationalScope将内容插入到一个表中。就在调用ExecuteNonQuery()之前,我在代码中放置了一个断点,并打开了一个SQL Server Management Studio,执行了一个select* from table;查询,但它没有等待并立即执行。理想情况下,TranscationScope通常会在表上设置一个锁,但我没有看到这一点。
此外,我编写了一个控制台应用程序(而不是使用SQL Server Management St
我们有一个ASP经典遗留web应用程序,它托管在IIS中的Windows 2003中,它连接在我们的数据库服务器(即 )中。我们目前刚刚将数据库服务器从v5r4m0升级到v6r1m0,因此我们在Web中安装了一个,以连接到新的数据库服务器,并将所有连接字符串更改为正确的数据库服务器。
我们的ASP经典站点中有以下代码:
set objConn2 = server.CreateObject("ADODB.Connection")
objConn2.open connStringGlobal
objConn2.BeginTrans
if rsCheck.eof then
我有一个包含许可证密钥/序列号的sql服务器表。表结构类似于;
[
RecordId int,
LicenceKey string,
Status int (available, locked, used, expired etc.)
AssignedTo int (customerId)
....
]
通过我的ASP.NET应用程序,当用户决定通过单击accept按钮购买许可证时,我需要为用户保留一个许可证密钥。我的方法是,从KeysTable中选择TOP1STATUS Where Status = available KeysTable Set status = locked,然后将密钥返
因为我识别了同时查询的表上的锁,所以我决定启用对我来说是新的。
ALTER DATABASE RM2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;
ALTER DATABASE RM2 SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE RM2 SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE RM2 SET MULTI_USER;
但是现在我想知道是否可以将这个隔离级别自动应用于所有现有的查询,因为这个DB包含很多视图、存储过程、表值函数,并且被许多不同的应用程序(例