首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server容器Linux -用户'sa‘登录失败

Server容器Linux -用户'sa‘登录失败
EN

Stack Overflow用户
提问于 2018-07-13 20:48:47
回答 2查看 1.5K关注 0票数 0

我试着在这里学习本教程:

https://learn.microsoft.com/en-us/sql/linux/tutorial-sql-server-containers-kubernetes?view=sql-server-linux-2017

按照本教程的指导,我创建了一个kubernetes集群并部署了一个linux服务器容器。

我创建的秘密,如上面的链接,并可以使用**kubectl获取秘密**解密和验证内容,在这里的链接:https://kubernetes.io/docs/concepts/configuration/secret/

我使用持久卷以及持久卷声明,并部署sqldeployment.yaml,如上面的链接所示。

我使用kubectl附加-i -t到容器上,我可以看到日志流。

当我尝试登录时,上面写着

代码语言:javascript
复制
**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.

我尝试过各种密码,包括微软教程链接上的密码。

问题:--我如何设置一个具有正确密码的容器,以便按照上面的教程中的指示登录到Server?--对于我可能做错了什么有什么指示吗?

EN

回答 2

Stack Overflow用户

发布于 2018-08-04 22:26:56

答案是,我使用一个Kubernetes持久卷来存储数据库文件。我可能在主数据库中初始化了一次密码,从而存储了错误的密码,该数据库的数据存储在持久卷中。

当更改了存储在Kubernetes秘密中的密码并多次重新部署sql server服务时,我感到困惑的是,密码没有被重置,而且我仍然无法登录。一旦我删除了持久卷和持久卷声明,我就能够重置密码并正确地重新初始化它,因为主数据库已经有效地重新安装了。

一旦密码在启动时被初始化,它就会存储在持久卷上的主数据库中。因此,更改Kubernetes秘密( wbich存储密码的值以用于一次性初始化)没有任何效果。

上面的场景很容易理解,但可能会非常混乱。

解决方案是删除持久性卷(pv)和peristent卷声明(pvc),它们有效地删除了数据文件,包括在服务器上配置密码的主数据库的数据文件。

票数 2
EN

Stack Overflow用户

发布于 2018-08-04 05:19:48

您的密码必须符合密码策略。我从微软官方网站上复制这篇文章。

密码复杂性策略旨在通过增加可能的密码数量来阻止暴力攻击。在执行密码复杂性策略时,新密码必须符合以下准则:

密码不包含用户的帐户名称。

密码至少有八个字符长。

密码包含以下四个类别中的三个字符:

拉丁文大写字母(A至Z)

拉丁文小写字母(a至z)

基数10位(0到9)

非字母数字字符,如:感叹号(!)、美元符号($)、数字符号(#)或百分比(%)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51332618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档