最近我开始处理SQL Server,我以前的经验是在MS-Access。
当我做一个数据库的导入/导出,从服务器到我的电脑,甚至是在服务器上,所有具有主键的列都松开了这个键。 身份设置为false,甚至没有设置为默认值。
我如何才能使用导入/导出作业来制作db及其数据的精确副本? 我不希望每次我想要在别的地方使用同一个数据库时,都要执行备份和恢复,还有另一个项目等等。
我已经阅读了关于“编辑映射”和checkbox,但这并没有帮助身份规范…那么表和主要的东西呢?
如果你想(或需要)避免备份/恢复这是我会build议(这些步骤假设你不想维护旧的架构名称,只是结构) –
下载opendbdiff 。 select来源和(空)目的地之间的“比较”。 select同步。 脚本选项卡,并复制只有创build表行(无dbo.sysdiagrams表等)粘贴到SQLpipe理工作室新的查询,删除所有出现在表名称之前的模式名称。
现在你有完整的结构,包括主键,身份等等。下一步 – 像以前一样使用sql server导入和导出数据(确保select编辑映射并select目标模式为dbo等)。 另外请确保你勾选删除并重新创build目标表。
如果您使用SQL数据比较 ,您的标识列将被维护。
这确实是保持数据库完全同步的最好方法,并且由Stackoverflow创始人高度推荐。
尝试在SSMS中使用内置的导入/导出function通常是一场失败的战斗