【发布时间】:2020-09-27 09:32:56
【问题描述】:
我之前有它工作过。我所做的唯一更改是通过生成脚本并将其导入服务器来导出数据库。
Web 服务器:IIS / ASP.NET Web 应用程序
连接字符串:
<add key="ConnectionString" value="Data Source=SERVER;
Initial Catalog=tkl;Persist Security Info=True;
User ID=tkl;Password=PASS; Connection Lifetime=150;
Connect Timeout=150; Pooling=true;Min Pool Size=20;Max Pool Size=500" />
错误:
2020-09-27 05:23:44.6361|ERROR|System.Data.SqlClient.SqlException (0x80131904):
Cannot open database "tkl" requested by the login. The login failed.
Login failed for user 'tkl'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
用户 'tkl' 存在于 TKL 数据库和 SQL Server 中。 我不确定这里有什么问题。可能我需要设置一些权限。 感谢任何帮助。
更新:
SQL 日志:
用户“tkl”登录失败。原因:无法打开明确指定的数据库“tkl”。 [客户:]
windows 和 SQL authentificaiton 均已启用。 我也可以尝试发布“tkl”用户对象权限。
【问题讨论】:
-
查看SQL Server上的日志,发现真实认证错误。如果您不明白,请将其作为edit 发布在您的问题中。
-
如果您删除并重新创建了数据库中的所有对象,包括
tkl数据库用户,它可能没有链接到相应的tklSQL 登录。 -
@AlwaysLearning 提出了一个很好的观点。数据库中的
USER对象tkl是否链接到LOGIN服务器对象tkl? -
实际用户名是 tkl ,与数据库名称相同。用户 tkl 访问数据库需要哪些确切权限?
-
@Jalle 请从日志中获取错误,这将告诉我们确切的问题所在。
标签: sql sql-server iis connection-string