最近我开始处理 SQL Server,我以前的经验是在 MS-Access。
当我从服务器导入/导出数据库到我的计算机或甚至在服务器中时,所有带有主键的列都会丢失密钥。标识设置为 false,甚至位也未设置为默认值。
我如何使用导入/导出作业来精确复制数据库及其数据?每次我想将同一个数据库用于其他项目等时,我都不想执行备份和恢复。
我已经阅读了有关“编辑映射”和复选框的内容,但是这对身份规范没有帮助......那么表的主键和其余的东西又如何呢?
答案1
如果您想要(或需要)避免备份/恢复,这是我的建议(这些步骤假设您不想维护旧的架构名称,只保留结构) -
下载打开数据库差异。选择源和(空)目标之间的“比较”。选择同步。脚本选项卡并仅复制创建表行(不包含 dbo.sysdiagrams 表等)粘贴到 sql managment studio 新查询中,删除表名之前出现的所有架构名称。
现在您拥有了完整的结构,包括主键、标识等。下一步 - 像以前一样使用 sql server 导入和导出数据(确保选择编辑映射并选择目标架构为 dbo 等)。还要确保勾选删除并重新创建目标表。
答案2
如果你使用SQL数据比较,您的身份栏将会被保留。
这确实是保持 DB 完美同步的最佳方式,并且受到 Stackoverflow 创始人的高度推荐。
尝试使用 SSMS 中的内置导入/导出功能通常是失败的