Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在没有帐户的情况下在SQL Server上执行查询_C#_Sql Server_Database - Fatal编程技术网

C# 在没有帐户的情况下在SQL Server上执行查询

C# 在没有帐户的情况下在SQL Server上执行查询,c#,sql-server,database,C#,Sql Server,Database,是否有人知道应用程序(连接到SQL Server)可以对数据库进行SQL查询,但限制用户使用SQL Server Management Studio直接访问数据库 抱歉,我知道这听起来很混乱,但我问这个问题的原因是因为在工作中,我使用的应用程序允许我输入数据并将其上传到数据库。我假设已将预定义的INSERTsql脚本加载到应用程序中,但当我登录到sql Server Management Studio时,它根本不允许我使用INSERT语句。我想知道为什么这样的应用程序可以被编程 任何关于这方面的

是否有人知道应用程序(连接到SQL Server)可以对数据库进行SQL查询,但限制用户使用SQL Server Management Studio直接访问数据库

抱歉,我知道这听起来很混乱,但我问这个问题的原因是因为在工作中,我使用的应用程序允许我输入数据并将其上传到数据库。我假设已将预定义的
INSERT
sql脚本加载到应用程序中,但当我登录到sql Server Management Studio时,它根本不允许我使用
INSERT
语句。我想知道为什么这样的应用程序可以被编程

任何关于这方面的信息或见解都将不胜感激


谢谢

因为您可以通过SSMS访问数据库而不会出错,所以帐户显然可以访问数据库。但是,权限将限于直接或通过角色成员身份授予帐户的权限

如果您使用的是同一帐户,并且您的即席
insert
失败并出现访问被拒绝错误,则应用程序可能正在使用存储过程插入数据。当存储过程用于数据访问时,调用帐户需要对存储过程(而不是底层表)具有执行权限。只要所有权链未中断,就不会计算间接引用对象的权限


有关所有权链的更完整说明,请参阅。

没有帐户,您无法访问数据库。如果您不希望最终用户在DB上拥有直接登录权限,那么您可以为您的应用程序创建一个专用帐户。应用程序代表用户使用该帐户。您的应用程序可能使用特定的Sql Server用户,并且当您使用Sql Server Management Studio登录时,您使用的是具有不同权限的不同用户。