我有一个桌面应用程序,希望用户通过 PC 上的 RDP 访问它。我在 Windows Server 2022 中以管理员身份安装了该应用程序,并将其提供给其他 RDP 用户。所有用户在使用 RDP 登录时都会在桌面上看到该快捷方式。
该应用程序使用SQL Server数据库,并且连接由应用程序中的app.config文件管理。
connectionString="Data Source=localhost;Initial Catalog=DB;Integrated Security=True
我可以使用我的管理员帐户运行该应用程序。
但是,当使用普通用户帐户时,他们可以运行应用程序,但无法连接到数据库。它返回“ad\thisuser 登录数据库失败”。
我已经启用了数据库的远程连接,并且已经启用了 TCP/IP 连接(尽管我确信这不是必要的)。
如何授予用户连接数据库的权限?
这个解决方案对我没有用:
(Windows Server 2022、SQL Server 2019)
8
最佳答案
1
虽然我认为有更好的答案,但这就是我的做法:
使用管理员登录,转到 SSMS > 对象资源管理器 > 服务器 > 数据库 > [myDB]
展开安全 > 用户 > 新用户…
在“选择页面”下
- 一般的:
在主窗口中,
- 用户类型:Windows 用户
- 用户名:输入或选择用户,例如 AD\User1。
返回选择页面
- 安全资产
在主窗口中
-
搜索…> 添加对象>所有类型的对象。
-
单击“确定”
选择对象类型、选择数据库的对话框
在 [DatabaseName] 的权限下,请确保至少选择:
-
选择
-
插入
-
删除
-
连接
-
执行
-
更新
单击“确定”完成
我很高兴能改进这一点,尤其是如果可以对整个群组进行改进的话。当我尝试对群组用户进行改进时,我收到了登录名无效的错误
1
-
或者仅授予用户 db_datareader 和 db_datawriter 数据库角色。
–
|
–
–
–
–
–
|