如何将C#程序的权限限制为SQLServer数据库上的只读权限?
我已经编写了一些C#连接到实时生产数据库。我想让我的应用程序只读访问数据库,但不确定如何实现这一点 有没有什么简单的方法可以通过修改连接字符串来实现这一点 我的理解是,该应用程序将使用运行该应用程序的人员的凭据登录,因此基于该事实,该应用程序可能具有或可能不具有对数据库的写访问权限。我可以静态地限制应用程序的权限吗?这样,如果有人更改程序以在以后做一些破坏性的事情,任何操作都将失败 很抱歉这个问题可能很琐碎,但这是我第一次涉足微软编程领域 谢谢如何将C#程序的权限限制为SQLServer数据库上的只读权限?,c#,sql-server,C#,Sql Server,我已经编写了一些C#连接到实时生产数据库。我想让我的应用程序只读访问数据库,但不确定如何实现这一点 有没有什么简单的方法可以通过修改连接字符串来实现这一点 我的理解是,该应用程序将使用运行该应用程序的人员的凭据登录,因此基于该事实,该应用程序可能具有或可能不具有对数据库的写访问权限。我可以静态地限制应用程序的权限吗?这样,如果有人更改程序以在以后做一些破坏性的事情,任何操作都将失败 很抱歉这个问题可能很琐碎,但这是我第一次涉足微软编程领域 谢谢 Gav您始终可以授予用户与数据库的连接,仅授予该数
Gav您始终可以授予用户与数据库的连接,仅授予该数据库上的“db_datareader”角色 db_datareader为用户提供对所有表的SELECT权限,但仅此而已
您始终可以授予用户与数据库的连接,仅授予该数据库上的“db_datareader”角色 db_datareader为用户提供对所有表的SELECT权限,但仅此而已
让它以仅具有只读权限的用户身份登录到数据库服务器。不要尝试向数据库写入任何内容。让它以只有只读权限的用户身份登录到数据库服务器。这就意味着不要尝试向数据库写入任何内容。基本上有两种主要类型的SQL Server身份验证:
有关详细信息,请参阅。基本上有两种主要的SQL Server身份验证类型:
有关详细信息,请参阅。您不能通过更改连接字符串来更改帐户的权限。数据库中有一个决定权限的用户帐户 除非您希望不同的人拥有不同的权限,否则您应该为应用程序设置一个帐户,并在连接字符串中使用
对于数据库中的任何帐户,您都可以指定它可以访问哪些数据库,以及它可以对这些数据库执行哪些操作。权限可以指定到对象和操作的级别,例如,您可以指定它只能对某些表进行选择。您不能通过更改连接字符串来更改帐户的权限。数据库中有一个决定权限的用户帐户 除非您希望不同的人拥有不同的权限,否则您应该为应用程序设置一个帐户,并在连接字符串中使用
对于数据库中的任何帐户,您都可以指定它可以访问哪些数据库,以及它可以对这些数据库执行哪些操作。权限可以指定到对象和操作的级别,因此您可以例如指定它只能在某些表上进行选择;通常并不是每个登录的用户都能访问数据库,更不用说拥有读取权限了。因此,在您的情况下,您可以为您的应用程序创建一个具有读取权限的数据库用户;并在连接字符串中使用它。只是一个想法;通常并不是每个登录的用户都能访问数据库,更不用说拥有读取权限了。因此,在您的情况下,您可以为您的应用程序创建一个具有读取权限的数据库用户;并在连接字符串中使用它