SQL SERVER 数据库 怎么设定多用户同时更新操作

一把菜刀_ 2017-09-20 10:29:38
是这样,SQL SERVER的 数据库 放到本地的PC 上,开发的工具可以在各个用户的电脑上使用,但是现在不能同时使用更新数据到数据库,是该怎么修改数据库还是本地的PC 不支持多用户操作数据库更新 ?
...全文
1160 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2017-09-20
  • 打赏
  • 举报
回复
看下两个表有没有触发器
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 12 楼 zengertao 的回复:
[quote=引用 10 楼 zjp6571657 的回复:] [quote=引用 6 楼 zengertao 的回复:] [quote=引用 5 楼 zjp6571657 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 什么叫不能操作,连select都不行嘛?看看用户权限是不是都给了[/quote] 是可以的。不好意思是我没描述清楚,是这样的,开发的工具需要连接这个数据库,A 用户通过工具更新数据到数据库中的T1表,B用户通过工具更新数据到数据库中的T2表,现在A,B用户同时操作更新不同表数据的话,虽然同时操作了,结果是只能等一个完成后才能执行另一个用户的操作。[/quote] T2的中间过程有没有用到T1表?[/quote] 不会,两个表没有关联操作。
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 9 楼 z10843087 的回复:
[quote=引用 5 楼 zjp6571657 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 我觉得你这个其实不是怎么设定的问题,应该是sql语句和数据库锁的问题。操作同一库的不同表正常来讲是可以的。多人去更新时,如果不能操作是提示的什么。截图来看看,最好有对应的语句。[/quote] 先调试看看,谢谢指导回复
吉普赛的歌 2017-09-20
  • 打赏
  • 举报
回复
引用 10 楼 zjp6571657 的回复:
是这样的,开发的工具需要连接这个数据库,A 用户通过工具更新数据到数据库中的T1表,B用户通过工具更新数据到数据库中的T2表,现在A,B用户同时操作更新不同表数据的话,虽然同时操作了,结果是只能等一个完成后才能执行另一个用户的操作。
不相干的表肯定是不会相互影响的,如#12如说, 应该是两者有相互的干扰。 你把更新的代码贴出来看看。
繁花尽流年 2017-09-20
  • 打赏
  • 举报
回复
引用 10 楼 zjp6571657 的回复:
[quote=引用 6 楼 zengertao 的回复:] [quote=引用 5 楼 zjp6571657 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 什么叫不能操作,连select都不行嘛?看看用户权限是不是都给了[/quote] 是可以的。不好意思是我没描述清楚,是这样的,开发的工具需要连接这个数据库,A 用户通过工具更新数据到数据库中的T1表,B用户通过工具更新数据到数据库中的T2表,现在A,B用户同时操作更新不同表数据的话,虽然同时操作了,结果是只能等一个完成后才能执行另一个用户的操作。[/quote] T2的中间过程有没有用到T1表?
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 8 楼 sinat_28984567 的回复:
[quote=引用 5 楼 zjp6571657 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 程序里也可以加事务。 如果是在数据库里,可以使用sql,例如这样测试一下:
begin tran 
UPDATE TEST SET ID=1
waitfor delay '00:00:05'    --延迟5秒提交事务
commit tran 
然后再另一窗口执行:
UPDATE TEST SET ID=2
这个语句是在5秒之后才能执行的。 [/quote] 谢谢版主回复。 可以按照试试,谢谢指导。
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 6 楼 zengertao 的回复:
[quote=引用 5 楼 zjp6571657 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 什么叫不能操作,连select都不行嘛?看看用户权限是不是都给了[/quote] 是可以的。不好意思是我没描述清楚,是这样的,开发的工具需要连接这个数据库,A 用户通过工具更新数据到数据库中的T1表,B用户通过工具更新数据到数据库中的T2表,现在A,B用户同时操作更新不同表数据的话,虽然同时操作了,结果是只能等一个完成后才能执行另一个用户的操作。
OwenZeng_DBA 2017-09-20
  • 打赏
  • 举报
回复
引用 5 楼 zjp6571657 的回复:
[quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 我觉得你这个其实不是怎么设定的问题,应该是sql语句和数据库锁的问题。操作同一库的不同表正常来讲是可以的。多人去更新时,如果不能操作是提示的什么。截图来看看,最好有对应的语句。
二月十六 2017-09-20
  • 打赏
  • 举报
回复
引用 5 楼 zjp6571657 的回复:
[quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 程序里也可以加事务。 如果是在数据库里,可以使用sql,例如这样测试一下:
begin tran 
UPDATE TEST SET ID=1
waitfor delay '00:00:05'    --延迟5秒提交事务
commit tran 
然后再另一窗口执行:
UPDATE TEST SET ID=2
这个语句是在5秒之后才能执行的。
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 4 楼 qq_37170555 的回复:
首先所有电脑要在同一个内网中,其次右键数据库选择属性;把下面图片圈圈的地方改成我现在这个Multi_User,这样才可以多用户访问
谢谢回复。 这个地方已经是MULTI_USER。
繁花尽流年 2017-09-20
  • 打赏
  • 举报
回复
引用 5 楼 zjp6571657 的回复:
[quote=引用 2 楼 sinat_28984567 的回复:] 是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂[/quote] 什么叫不能操作,连select都不行嘛?看看用户权限是不是都给了
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 2 楼 sinat_28984567 的回复:
是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
1.可以多个用户连接访问,但是不能同时操作同一个数据库里不同的表。 2.使用事务+锁来实现,是通过怎么改变,程序中改代码吗还是怎么操作?不好意思问得多,实在不太懂
听雨停了 2017-09-20
  • 打赏
  • 举报
回复
首先所有电脑要在同一个内网中,其次右键数据库选择属性;把下面图片圈圈的地方改成我现在这个Multi_User,这样才可以多用户访问
一把菜刀_ 2017-09-20
  • 打赏
  • 举报
回复
引用 1 楼 zengertao 的回复:
1.确定数据库是不是设为了多用户模式 2.数据库是不是开放了远程访问 3.电脑有没有防火墙什么的限制了访问
谢谢回复。 1.怎么查看是不是设定了多用户模式? 2.开放了,正常单个用户可以访问和更新数据。 3.没有限制。
二月十六 2017-09-20
  • 打赏
  • 举报
回复
是只能一个连接,还是可以多个连接,但是每个连接不能同时操作同一个数据库表? 如果是后者可以使用事务+锁来实现
繁花尽流年 2017-09-20
  • 打赏
  • 举报
回复
1.确定数据库是不是设为了多用户模式 2.数据库是不是开放了远程访问 3.电脑有没有防火墙什么的限制了访问

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧