由於自己開發環境使用的是MS SQLServer 2005,而伺服器上部署的依然是MS SQLServer 2000,於是在系統開發完成後,還得將MS SQLServer 2005匯入 MS SQLServer 2000,雖然同是MS家族的產品,匯入匯出也算方便,但是有時候也會出現問題,比喻說這樣操作:
1、在SQL Server Management Studio中,選擇資料,產生指令碼
2、選擇下一步,然後在“為伺服器版本編寫指令碼”選擇SQL Server 2000
3、下一步選擇要產生的表或者視圖,最後完成,然後將產生的指令碼複製到SQL Server 2000下執行。
從上面的流程來看,並沒有什麼問題,但是在執行的過程中卻無法執行,需要將指令碼中做如下調整:
找到"WITH (IGNORE_DUP_KEY = OFF) ON "這一句,用全部替代為空白
找到"sys.objects",用全部替代為"sysobjects"
找到"sys.views",用全部替代為"sysobjects"
找到"object_id",用全部替代為"id"[註:這裡的object_id要區分大小寫]
找到"sys.sp_addextendedproperty",用全部替代為"dbo.sp_addextendedproperty"或是"sp_addextendedproperty"
找到"EXEC sys.sp_addextendedproperty @name=N''XXX'', @value=N''XXX'' , @level0type=N''SCHEMA'', @level0name=N''XXX'', @level1type=N''XXX'', @level1name =N''XXX''"這一句,將@level0type=N''SCHEMA''改成@level0type=N''user'',再把@name=,@value =,@level0type=,@level0name=,@level1type=,@level1name=全部替代為空白
如果在產生指令碼的時候,將“為所選資料庫中的所有對象編寫指令碼”選中,其他步驟一切照舊,則可以產生完全正常的指令碼,不需要修改任何地方。