2

我们有一些部署脚本通过 sqlpackage 结合使用 dacpacs 和使用 sqlcmd 的直接脚本。

当我执行 sqlpackagedac\sqlpackage.exe /p:BlockOnPossibleDataLoss=False /p:BackupDatabaseBeforeChanges=True /a:Publish /sf:.\somedeploy.dacpac /tcs:"Data Source=MyDB;Initial Catalog=MyCatalog;Trusted_Connection=True;"

我收到一条错误消息*** Could not deploy package. Unable to connect to target server. ,我在 sql 中打开了登录审核,我收到的消息是Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. [CLIENT: 111.222.223.224]

但是,我可以使用 -E 参数通过 sqlcmd 运行我们的 sql 脚本没有问题。 sqlcmd -i Permissions\CreateSqlUser.sql -S MyDB -E

我正在从设置为“以管理员身份运行”的命令行运行,并且当前以管理员身份登录。这是在 Windows Server 2012 VM 上运行的。我正在使用 sql 2014。我们有其他安装没有问题,但这是我们的第一个 2014 安装,所以我们正在尝试确定是否发生了某些变化,或者我们是否缺少某些东西,如果是什么。

如果我从探查器运行,我看不到任何审计日志错误消息。我检查了过滤器和我正在监听的事件,它们看起来都不错。当我运行时,在 sql 内部,exec sys.sp_readerrorlog 0, 1, 'Login Failed'我确实会显示消息。(我可能在探查器中做错了什么)。它们也出现在系统事件日志中。我没有看到任何地方告诉我有关用户尝试登录的任何信息。

如果不为 sqlpackage 使用受信任的连接,而是使用用户名和密码,它可以正常工作。但是,我们的部署脚本所做的部分工作是创建用户,因此我们的偏好是不这样做。

4

0 回答 0