我正在尝试将包含大量数据的数据库从SQL Server 2005复制到SQL Server 2008.我尝试使用复制数据库向导但无法使用向导,因为它们是两个不同的服务器2005和2008.所以我复制了所有的表使用SQL Server 2008中的“导入数据”向导。
我有大约1120个要复制的存储过程,所以在SQL Server 2005上我使用了Generate Script向导并创建了我可以在SQL Server 2008上运行的脚本(用于SP)。我在SQL Server 2008上运行了该脚本,但是仅创建了1082个程序,其中大部分都是由于依赖性问题而未创建的。现在我不确定1120 SP中没有创建的。
你能就如何解决这种情况提出任何建议吗?
答案 0 :(得分:3)
SQL Server 2008可以从SQL Server 2005备份文件还原。为什么不进行快速备份和还原操作?如果您不想要整个事情,只需备份并还原到临时SQL 2008数据库,然后从那里复制所需的对象。
答案 1 :(得分:2)
为了找出缺少哪些存储过程并需要重新创建,您应该使用SQL diff工具,例如:
这需要花费一些钱才能获得许可证,但它们非常值得购买,并且可以为您节省大量的工作量,以确定需要做些什么。
这两个工具都可以将两个数据库(甚至不同的版本)相互比较,并且可以创建更新脚本以使它们具有相同的对象,或者您甚至可以直接在这些工具中进行同步,如果您希望这样做。
答案 2 :(得分:0)
什么样的依赖性问题? 大多数情况下,它会抱怨依赖性问题,例如,如果您尝试从尚未创建的SP执行SP。但它仍将被创建。
可能是登录还是其他?
为什么不进行备份并恢复数据库?
答案 3 :(得分:0)
分离SQL 2005数据库,将数据库的.mdf和.ldf文件复制到SQL 2008数据文件夹,然后附加数据库是不是更简单?