我正在尝试将数据库从 sql server 版本 12.0.5203 切换到 14.0.1000,但是我遇到了问题。虽然我无法获取要导入的备份,但我也无法将项目发布到空白数据库。当我运行数据库发布时,我很快收到一条错误消息:
“无法连接到主服务器或目标服务器 [database_name]。您必须在主服务器或目标服务器 [database_name] 中拥有具有相同密码的用户。”
在同一个项目中,我已经向旧版本的数据库发布了 100 次。
因此,除了发布问题。我尝试导出数据层应用程序并使用较新版本的 sql server 导入,每次这样做时,我都会在导入时收到以下错误。
无法导入包。警告 SQL72012:对象 [itss_tutor_3_Data] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。警告 SQL72012:对象 [itss_tutor_3_Log] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。错误 SQL72014:.Net SqlClient 数据提供程序:消息 15404,级别 16,状态 19,第 1 行无法获取有关 Windows NT 组/用户“PSLLC\dbodenschatz”的信息,错误代码 0x54b。错误 SQL72045:脚本执行错误。执行的脚本:
所以基本上我无法导入现有数据库,也无法发布到空数据库。但是我可以很好地发布到旧版本。
更新:我安装了较新版本的 Sql Server Data Tools 并重新启动。现在发布不会立即失败,而是我收到此错误:
正在创建 [GroupConcat]... (65,1):SQL72014:.Net SqlClient 数据提供者:消息 10343,级别 14,状态 1,第 1 行使用 SAFE 或 EXTERNAL_ACCESS 选项为程序集“GroupConcat”创建或更改程序集失败,因为sp_configure 的“clr strict security”选项设置为 1。Microsoft 建议您使用证书或非对称密钥对程序集进行签名,该证书或非对称密钥具有相应的登录名并具有 UNSAFE ASSEMBLY 权限。或者,您可以使用 sp_add_trusted_assembly 信任程序集。(65,0): SQL72045: 脚本执行错误。执行的脚本: