SQL Server中對比表數量,索引數量及procedure數量

tolywang發表於2009-06-24

1.      查詢對比兩個資料庫中的儲存過程差異:  

Select name from sysobjects a where not exists(select name from MI02.dbo.sysobjects b where xtype='P'  and a.name=b.name) and a.xtype='P'    

 

 

2.      查詢並對比兩個資料庫中表的索引數目:  

select count(*) from sysindexes where sysindexes.status & 0x20=0 

 

 

3.      檢查對比表的資料量   

產生方法:在eFoxSFCMAX2_Old中新建兩個表,用來記錄恢復的和匯出的資料庫中表的記錄數量,分別為A1TABDATACOMP_OLDA1TABDATACOMP_NEW

 

eFoxSFCMAX2_Old執行下面的語句

select 'insert into A1TABDATACOMP_OLD select '''+name+''' as tablename,count(*) as rownum from '+name+';' from sysobjects where xtype='U' order by name;

select 'insert into A1TABDATACOMP_NEW select '''+name+''' as tablename,count(*) as rownum from '+name+';' from MI02.dbo.sysobjects where xtype='U' order by name;

將產生的指令碼在查詢分析中執行,統計出每個表的資料量。

最後在eFoxSFCMAX2_Old中執行select *,getdate() from  dbo.A1TABDATACOMP_OLD a inner join dbo.A1TABDATACOMP_NEW b on a.tablename=b.tablename將兩個表的記錄做比對,最後將結果貼上到Excel中對比。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-608530/,如需轉載,請註明出處,否則將追究法律責任。

相關文章