笔记306 同一个数据库实例里从GPOS1.0升级到GPOS1.1 2013-6-22
笔记306 同一个数据库实例里从GPOS1.0升级到GPOS1.1 2013-6-22
1 --同一个数据库实例里从GPOS1.0升级到GPOS1.1 2013-6-22 2 --以下操作都在SQLSERVER2005下进行 3 4 5 --先分离原来的数据库,把D盘里的MSSQL文件夹移动到别的位置 6 7 --然后E:\公司文档\最新版gpos1.1(2013.1.18)\GPOS1.1安装(2013-01-18)\数据库安装 8 --安装1.1版本的GPOSDB 9 --然后重命名数据库 10 11 12 EXEC [sys].[sp_renamedb] @dbname = 'GPOSDB', -- sysname 13 @newname = 'GPOSDBA' -- sysname 14 15 --清空每张表的数据,数据库刚刚创建好的时候会有一些默认数据 16 USE GPOSDBA 17 GO 18 EXEC sp_MSforeachtable 'truncate table ?' 19 ------------------------------------------------------------ 20 --检查是否已经清空,如果看到结果全部是0,表明所有表都没有数据 21 USE GPOSDBA 22 GO 23 EXEC sp_MSforeachtable 'select count(*) from ?' 24 25 --附加原来的数据库 26 27 --在原来的数据库里的[CT_FuelingData]表找出查询交易序号重复的记录,重复扣款 28 USE [GPOSDB] 29 GO 30 SELECT [VC_FD_No] AS '交易序号', COUNT([VC_FD_No]) AS '重复数' 31 FROM [dbo].[CT_FuelingData] 32 GROUP BY [VC_FD_No] 33 HAVING COUNT([VC_FD_No]) > 1 34 35 --然后把重复的记录删除掉 36 USE [GPOSDB] 37 GO 38 DELETE FROM [dbo].[CT_FuelingData] WHERE [VC_FD_No]='0106101124162039' 39 40 --使用数据导入导出向导来导入数据 41 --右键GPOSDB->导出数据-》在表映射界面勾选“为多个表优化”-》“在事务中运行” 42 43 44 --因为新创建的数据库已经有新添加的字段,所以编辑映射就不用了,直接下一步 45 46 --导入数据完毕之后查询一下数据 47 USE GPOSDBA 48 GO 49 SELECT COUNT(*) FROM [dbo].[CT_FuelingData] 50 SELECT * FROM [dbo].[SystemPara] 51 SELECT * FROM [dbo].[CT_OuterCard] 52 53 --分离原来的数据库 54 --可以把原来的数据库放到您的移动硬盘里,以作备份之用 55 56 --重命名数据库 57 --断开所有用户连接,不然会报错:数据库正在使用 58 ALTER DATABASE GPOSDBA SET SINGLE_USER WITH ROLLBACK IMMEDIATE 59 GO 60 EXEC [sys].[sp_renamedb] @dbname = 'GPOSDBA', -- sysname 61 @newname = 'GPOSDB' -- sysname 62 --设置回多用户模式 63 ALTER DATABASE GPOSDB SET MULTI_USER 64 GO