Sql server SQL Server容器Linux-用户登录失败';sa';
我在这里尝试按照教程进行操作: 按照本教程的指导,我创建了一个kubernetes集群,并在LinuxSQLServer容器中部署了一个集群 我在上面的链接中创建了这个秘密,并可以使用**kubectl get secret**来解密和验证内容,如链接中所述: 我使用持久卷和持久卷声明,并部署sqldeployment.yaml,如上面的链接所示 我使用kubectl attach-I-t连接到容器,我可以看到日志流 当我尝试登录时,它会显示Sql server SQL Server容器Linux-用户登录失败';sa';,sql-server,linux,docker,kubernetes,containers,Sql Server,Linux,Docker,Kubernetes,Containers,我在这里尝试按照教程进行操作: 按照本教程的指导,我创建了一个kubernetes集群,并在LinuxSQLServer容器中部署了一个集群 我在上面的链接中创建了这个秘密,并可以使用**kubectl get secret**来解密和验证内容,如链接中所述: 我使用持久卷和持久卷声明,并部署sqldeployment.yaml,如上面的链接所示 我使用kubectl attach-I-t连接到容器,我可以看到日志流 当我尝试登录时,它会显示 **SQL Management Studio:*
**SQL Management Studio:**
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
**kubectl attach output stream**
Error: 18456, Severity: 14, State: 8.
Login failed for user 'sa'. Reason: Password did not match that for the login provided.
我尝试过各种密码,包括上面microsoft教程链接上的密码
问题:
-如何使用正确的密码设置linux容器,以便按照上面的Microsoft教程中的说明登录到SQL Server?
-任何关于我可能做错了什么的提示?您的密码必须符合密码策略。我是从微软官方网站上复制的 密码复杂性策略旨在通过增加可能的密码数量来阻止暴力攻击。强制实施密码复杂性策略时,新密码必须符合以下准则: 密码不包含用户的帐户名 密码长度至少为八个字符 密码包含以下四个类别中的三个类别的字符: 拉丁大写字母(A到Z) 拉丁小写字母(a到z) 以10位为基数(0到9)
非字母数字字符,例如:感叹号(!)、美元符号($)、数字符号(#)或百分比(%)。答案是我使用Kubernetes持久卷存储数据库文件。我可能在主数据库中初始化了一次,从而存储了错误的密码,主数据库的数据存储在持久卷中 在多次更改存储在Kubernetes secret中的密码并重新部署sql server服务时,我感到困惑,因为密码没有被重置,我仍然无法登录。一旦我删除了持久卷和持久卷声明,我就能够重置密码并正确地重新初始化它,因为主数据库已经被有效地重新安装 似乎在启动时初始化密码后,它就会存储在持久卷上的主数据库中。因此,更改Kubernetes密码(wbich存储密码值以便一次性初始化)无效 上面的场景很容易理解,但可能非常混乱
解决方案是删除永久卷(pv)和永久卷声明(pvc),这有效地删除了数据文件,包括在服务器上配置密码的主数据库的数据文件。Stack Overflow是一个解决编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许是或者会是一个更好的提问地点。这是关于azure kubernetes(AKS)的,它目前是一个热门话题。对于DevOps和开发人员来说。该策略无疑是初始化sql server容器的一个难题,并且可能是导致我的安装程序将我锁定在外的一个因素。然而,关于这个问题的完整答案在我下面的帖子中。谢谢