Sql 包含为网站而非控制台应用程序工作的用户

Sql 包含为网站而非控制台应用程序工作的用户,sql,asp.net,sql-server,Sql,Asp.net,Sql Server,因此,SQL Server中有许多数据库设置为“部分”包含。我们这样做是因为它们是AAG的一部分,这意味着用户可以包含在数据库中,所以当它被复制到另一台服务器时,用户也会被复制 我有一个这样的用户使用的网站,工作良好。但是,我希望使用相同的密码将控制台应用程序指向相同的数据库。我复制了连接字符串,但在尝试运行console应用程序时,事件查看器中记录了以下两个错误: 用户“MyUser”登录失败。原因:找不到与提供的名称匹配的登录名。[客户端:服务器IP] 用户“MyUser”登录失败。原因:密

因此,SQL Server中有许多数据库设置为“部分”包含。我们这样做是因为它们是AAG的一部分,这意味着用户可以包含在数据库中,所以当它被复制到另一台服务器时,用户也会被复制

我有一个这样的用户使用的网站,工作良好。但是,我希望使用相同的密码将控制台应用程序指向相同的数据库。我复制了连接字符串,但在尝试运行console应用程序时,事件查看器中记录了以下两个错误:

用户“MyUser”登录失败。原因:找不到与提供的名称匹配的登录名。[客户端:服务器IP]

用户“MyUser”登录失败。原因:密码与提供的用户密码不匹配。[数据库:'MyDatabase'][客户端:SERVERIP]

如果我用传统的SQL方式创建一个登录名和一个用户,我可以很好地连接,但是如果我们故障切换到另一台服务器,登录名将不存在。如果我创建一个新的包含用户,它将以同样的方式失败。包含的用户可以在运行在具有相同连接字符串的同一服务器上的网站上正常工作


你知道为什么控制台应用程序不能连接,而网站可以吗?如果这有什么区别的话,那就是SQL Server 2012,一个用C#

编写的.net站点和控制台应用程序,您对web服务器使用的是哪种类型的安全性?可能是应用程序池,或者您正在使用windows auth?web服务器与sql数据库服务位于不同的服务器上吗?是的,web服务器与sql数据库服务位于不同的服务器上。我正在为站点使用应用程序池,控制台应用程序将作为我自己的用户运行,但如果连接字符串相同,这会有什么区别吗?它正在进入数据库服务器,所以不要认为这可能是防火墙问题。如果您使用的是windows auth,则可能是一个问题。连接池可能使用与.net应用不同的登录名。我过去也有过这样的问题,从我的研究中很多人都有过。关于在web服务器上发生的双跳,但不是在运行应用程序时。对不起,我现在明白你的意思了,我正在使用SQL Server身份验证,所以不确定是否可以这样。