用SQL2008导出数据库的时候,会导致数据库中的主键、索引、标识等数据库约束丢失。
这里以SQL2008为例,介绍一下如何能导数据,又可以保持主键、索引、标识等数据库约束不丢失的方法。
首先,在本地sql2008上面的数据库上右键-任务(T)-生成脚本(E) ,点击下一步,勾选下面的“为所选数据库中的所有对象编写脚本”-点击下一步-可以看到“编写数据的脚本”(SQL2005无此选项)后面是False,双击改为TRUE,拉下来-可以看到“为服务器版本编写脚本”,双击选择SQL2005(根据远程数据库版本而定,我要导的数据库是SQL2005所以选它)-点击下一步-再点击下一步-点击“完成”,脚本出现在查询分析器中。接下来把脚本做一下改动,以适合远程数据库使用。一般要改两个地方,第一个地方就是第一行 USE [DATABASE] 这个根据远程数据库而定,我的远程数据库是sq_congxun,所以第一行改为 USE [sq_congxun] 。第二个地方就是改数据库架构,一般本地是用dbo,而远程数据库是以数据库用户为架构,所以按Ctrl+H键,弹出替换窗口,把dbo替换成sq_congxun,至此脚本改造完成。接下来打开远程数据库,新建查询,把刚刚的脚本复制进去,执行,OK,恭喜你,完成了!
蓝色为需要注意部分