我们最近转向使用SSDT进行数据库管理和部署工具。我们使用SqlPackage.exe来部署包。在部署程序包时,我们偶尔会遇到超时错误。在查看错误之后,我在sqlpackage的命令行参数中添加了/ p:CommandTimeout = 900。但它在某些情况下仍然失败,当它失败时,它会在几秒钟内失败。所以我猜它没有达到p:CommandTimeout。
我找不到任何其他超时的文档。
以下是详细的错误消息 -
错误SQL72014:.Net SqlClient数据提供程序:消息-2,级别11,状态 0,行0执行超时已过期。超时时间过去了 完成操作或服务器没有响应。错误 SQL72045:脚本执行错误。执行的脚本:
CREATE DATABASE [$(DatabaseName)]
ON
PRIMARY(NAME = [PhoenixDB], FILENAME = '$(DefaultDataPath)PhoenixDB_Data.mdf', SIZE = 8000 MB, FILEGROWTH = 10 %)
LOG ON (NAME = [PhoenixDB_log], FILENAME = '$(DefaultLogPath)PhoenixDB_Log.ldf', SIZE = 2000 MB, FILEGROWTH = 10 %) COLLATE SQL_Latin1_General_CP1_CI_AS;
错误SQL72014:.Net SqlClient数据提供程序:消息1802,级别16, 状态4,第1行CREATE DATABASE失败。列出的一些文件名可以 不被创造。检查相关错误。错误SQL72045:脚本执行 错误。执行的脚本:
CREATE DATABASE [$(DatabaseName)]
ON
PRIMARY(NAME = [PhoenixDB], FILENAME = '$(DefaultDataPath)PhoenixDB_Data.mdf', SIZE = 8000 MB, FILEGROWTH = 10 %)
LOG ON (NAME = [PhoenixDB_log], FILENAME = '$(DefaultLogPath)PhoenixDB_Log.ldf', SIZE = 2000 MB, FILEGROWTH = 10 %) COLLATE SQL_Latin1_General_CP1_CI_AS;