我一直试图弄清楚如何在生成脚本以重新创建数据库时正确适应如何处理“身份”列。
我需要为此生成脚本的最初原因是因为我必须将 SQL 数据库“降级”到旧版本。我知道数据库(v10.5)中的所有内容都与旧版本(v10.0)兼容。我面临的问题是,在复制数据库的 3 种不同方法中,它总是失败,因为它无法维护原始 ID 字段(即身份)。
我的每张桌子都有第一列ID: Int = PK & Identity
。我也有很多情况下,该列中的表没有完全按顺序排列,例如 1、2、3、5、8、12、13 等。那只是因为这些记录过去已被删除。但似乎不可能以与以前相同的顺序重新插入原始 ID 号......
那么如何将数据库从服务器 A 完整复制(不备份/恢复)到服务器 B?注意:我可以从 Management Studio 连接到两台服务器上的两个数据库。此外,目标服务器不是我的,它是一个共享托管数据库,我只能访问我的数据库。我无权更改目标服务器设置。
我尝试了以下方法:
- 为整个数据库选项生成脚本
- 导出数据库选项
- 备份/恢复数据库 - 由于版本不匹配而失败
我猜我可能只需要暂时“禁用”所有表上的身份规范,插入数据,然后重新打开身份。但是我对编写用于操作数据库结构的脚本感到很害怕。数据本身,我可以。但是在操作数据库结构时,我已经习惯了为此使用工具,以至于我什至从来没有花时间使用脚本——除了这个特定的场景,希望我也永远不必学习。