Sql server 为应用程序创建sql server用户

Sql server 为应用程序创建sql server用户,sql-server,Sql Server,我有一个应用程序,它创建自己的用户,然后这些用户登录到应用程序并访问数据库。用户应该如何创建,我应该有一个用户表还是应该创建数据库级用户?这是一个非常开放的问题,例如,您忽略了它是基于web还是基于桌面的应用程序,但这里有一些想法 你在谈论多少用户以及什么样的营业额。几千?数以百万计的?十个?随着数量和/或营业额越来越大,用户表看起来越来越好。例如,亚马逊允许我们创建自己的购物车,即使我们不是他们数据库服务器上的用户 对于拥有数据库级用户的公司内部的数据库来说,通常更有意义。它使您不必在应用程序

我有一个应用程序,它创建自己的用户,然后这些用户登录到应用程序并访问数据库。用户应该如何创建,我应该有一个用户表还是应该创建数据库级用户?

这是一个非常开放的问题,例如,您忽略了它是基于web还是基于桌面的应用程序,但这里有一些想法

你在谈论多少用户以及什么样的营业额。几千?数以百万计的?十个?随着数量和/或营业额越来越大,用户表看起来越来越好。例如,亚马逊允许我们创建自己的购物车,即使我们不是他们数据库服务器上的用户

对于拥有数据库级用户的公司内部的数据库来说,通常更有意义。它使您不必在应用程序中定义整个安全子系统,并确保Microsoft和全球数百万用户已经解决了任何漏洞

在数据库中创建用户表要简单得多。但是,它在您必须构建的业务规则和安全子系统上投入了大量工作。(除了它所造成的上述漏洞之外)

同时,预先利用数据库用户和角色可能会更加复杂(如果您是在应用程序中这样做的话)。您需要一个熟悉tsql、系统存储过程、SMO等的人,但从长远来看,这会使管理角色、用户、组、权限等变得更加容易,而且您还可以在必要时在应用程序之外对其进行管理

无论哪种方式,应用程序都必须弄清楚如何使用连接字符串。数据库级用户路由要求连接字符串特定于每个用户。除非你打算使用Windows身份验证的域帐户——我认为这是一种尽可能的方式