任何人都可以想到任何技术,我可以有一个Windows计划的任务运行OSQL ,但不必传递明文密码明文密码清晰? 例如:
>osql -U iboyd -P BabyBatterStapleCorrect
假设:没有Windows身份validation (因为它不是一个选项)
我希望有一个
>OSQL -encryptPassword "BabyBatterStapleCorrect" > > OSQL > Encrypted password: WWVzIGkgd2FudCB0byByYXBlIGJhYmllcy4gQmlnIHdob29wLiBXYW5uYSBmaWdodCBhYm91dCBpdD8=
然后我可以调用OSQL :
>osql -U ian -P WWVzIGkgd2FudCB0byByYXBlIGJhYmllcy4gQmlnIHdob29wLiBXYW5uYSBmaWdodCBhYm91dCBpdD8=
但这不是微软实施的。
有关OSQL的login过程是否安全的信息似乎是粗略和矛盾的(请参阅此处 )
我认为SQLCMD支持SSLencryption ,这将防止通过networking嗅探密码 – 但是如果您将密码存储在脚本或其他内容中,并且担心被盗用,请将其encryption并在将其传递到SQLCMD之前SQLCMD解密。