因此我们将SQL Server中的许多数据库设置为“部分”包含。我们这样做是因为它们是AAG的一部分,这意味着用户可以包含在数据库中,因此当它被复制到另一台服务器时,用户也会被复制。
我有一个使用这样的用户的网站,并且工作正常。但是,我想使用相同的密码将控制台应用程序指向同一个数据库。我复制了连接字符串,但是当我尝试运行控制台应用程序时,我在事件查看器中记录了以下错误:
用户'MyUser'登录失败。原因:找不到与提供的名称相匹配的登录信息。 [客户:SERVERIP]
用户'MyUser'登录失败。原因:密码与用户提供的密码不匹配。 [数据库:'MyDatabase'] [客户:SERVERIP]
如果我以传统的SQL方式创建登录和用户,我可以正常连接,但如果我们故障转移到其他服务器,则登录将不存在。如果我创建一个新的包含用户,它将以相同的方式失败。包含的用户在使用相同连接字符串在同一服务器上运行的网站上正常工作。
为什么控制台应用无法在网站连接时提供任何想法?它是SQL Server 2012,如果它有任何区别,用。#网站和控制台应用程序用C#编写