我需要在某个用户上对数据库执行锁定功能,而对此数据库进行更改。
示例:
用户创建一些数据库:
database1
database2
database3
作为sa
我希望限制用户在database1
中进行更改,但用户仍然可以在database2-3
中进行更改。
ALTER DATABASE database1 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
不是一种选择。
UPD。为什么不是一个选择?这是因为:
我使用hibernate从java代码执行ALTER DATABASE database1 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
- >我锁了,好的。但是当事务提交时其他用户可以连接到数据库。我想做点什么:
1. acquire lock
2. do anything, even restart my java application
3. release lock