SQL Server登录和用户?

时间:2011-10-26 13:11:10

标签: c# sql-server

我创建了一个连接字符串来连接数据库,我也可以为每个数据库创建具有特定权限的用户。如果我可以通过我的代码中的连接字符串访问该数据库而不使用任何用户创建的用户,那么用户有什么用处?请解释。感谢。

4 个答案:

答案 0 :(得分:2)

您只能以用户身份访问数据库 无法使用没有用户的连接字符串(或使用Windows身份验证)。

答案 1 :(得分:0)

审计目的是其中一个用途。您知道哪些用户执行了表,如果您的表存储了此信息。

例如SUSER_SNAME()USER_NAME()返回执行查询的人的用户名。

在使用Sql Server身份验证的ASP.NET上,执行语句的人员的用户名将始终是连接字符串中指定的用户名。例如,对于使用集成Windows身份验证的Windows应用程序,用户名将从他的域帐户中提取,但仍需要作为特定数据库的用户进行映射。

答案 2 :(得分:0)

您通常使用您在连接字符串内的数据库中创建的其中一个用户。除非您使用集成身份验证,否则您冒充用户并且该用户也需要在数据库中创建。无论哪种方式,您都需要数据库中的用户通过连接字符串访问它。

答案 3 :(得分:0)

独立用户只有三个快速好处。

1)直接访问数据库:如果他们使用SQL Server Management Studio(或类似)进行即席查询,您希望每个用户都有一个单独的用户名和密码。

2)审核:通过使用不同的用户名和密码,您可以将活动记录到特定用户,这样您就可以准确地知道谁错误地运行了命令DROP TABLE CUSTOMERS

3)安全性:可以为不同的用户提供不同级别的访问权限,因此任何人都不应该意外地运行命令DROP TABLE CUSTOMERS

此外,您可以设置连接字符串,以便它接受用户名和密码(如果您愿意),这样您的客户端应用程序仍将请求用户提供凭据以验证他们需要的访问级别(如果适用的话)到你的申请)。