我正在尝试使用sqlcmd使用强制加密连接到sql server。
我已将证书添加到sql server并启用强制加密。
但是sqlcmd工具无法连接到sql server。以下是我正在使用的命令:
sqlcmd -S"mymachine.mydomain.dom" -b -d"mydatabase" -i"E:\mysqlfile.sql"
-v mode="Load" -N -U"sa" -P"password"
当我删除mydomain.dom和-N选项时,这是有效的:
sqlcmd -S"mymachine" -b -d"mydatabase" -i"E:\mysqlfile.sql"
-v mode="Load" -U"sa" -P"password"
可能是什么原因?
编辑:我已将服务器证书存储在个人和可信人员商店中。我还运行了以下查询以检查加密。
SELECT encrypt_option FROM sys.dm_exec_connections
对于所有sessins,encrypt_option都是真的。
编辑2:我正在使用默认实例。证书CN是mymachine.mydomain.dom。另外使用encrypt = true和使用.net代码连接到同一个数据库也可以正常工作。所以这似乎不是证书问题。
编辑3:在网络配置中启用了Tcp / ip。还启用了远程连接。我也尝试以管理员身份执行sqlcmd但遇到同样的错误。