电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

比較SQL Server 2000 數據庫中兩個庫的差異

瀏覽:135日期:2023-11-03 19:37:57

昨天被數據庫的不同步給弄郁悶了,開發和測試的庫不是一個,開發的這個庫,存儲過程經常更新。有時候甚至表結構都有些變化。這就導致了很多問題。一時半會還不知道具體是什么問題,搞得老子很狼狽,一時性起,想寫一個程序來比較兩個庫的不同,方便測試和實施。今天上午,邊開會邊寫,中午的時候通過測試.

主要是兩個SQL語句:查詢庫中表和視圖結構和列屬性不同的SQL如下:

select A. [name] as TableName, B. [name] as Colname, B.xtype, B.xusertype, B.length, B.colid, B.cdefault, B.domain, B.number, B.offset, B.status, B.type, B.usertype, B.prec, B.scale, B.iscomputed, B.isoutparam, B.isnullable, C.COLUMN_DEFAULT, dbo.fnIsColumnPrimaryKey(B. [ID], B. [name]) as PKey from sysobjects A, syscolumns B, INFORMATION_SCHEMA .COLUMNS Cwhere a. id = B. id and A.xtype in ('u', 'v') and A. Name = C.TABLE_NAME and B. Name = C.COLUMN_NAMEorder by A. [ID], B. [Name]

///////每列代表的意思如下name sysname 列名或過程參數的名稱。 id int 該列所屬的表對象 ID,或與該參數關聯的存儲過程 ID。 xtype tinyint systypes 中的物理存儲類型。 typestat tinyint 僅限內部使用。 xusertype smallint 擴展的用戶定義數據類型 ID。 length smallint systypes 中的最大物理存儲長度。 xprec tinyint 僅限內部使用。 xscale tinyint 僅限內部使用。 colid smallint 列或參數 ID。 xoffset smallint 僅限內部使用。 bitpos tinyint 僅限內部使用。 reserved tinyint 僅限內部使用。 colstat smallint 僅限內部使用。 cdefault int 該列的默認值 ID。 domain int 該列的規則或 CHECK 約束 ID。 number smallint 過程分組時(0 表示非過程項)的子過程號。 colorder smallint 僅限內部使用。 autoval varbinary(255) 僅限內部使用。 offset smallint 該列所在行的偏移量;如果為負,表示可變長度行。 status tinyint 用于描述列或參數屬性的位圖: 0x08 = 列允許空值。 0x10 = 當添加 varchar 或 varbinary 列時,ANSI 填充生效。保留 varchar 列的尾隨空格,保留 varbinary 列的尾隨零。 0x40 = 參數為 OUTPUT 參數。 0x80 = 列為標識列。 type tinyint systypes 中的物理存儲類型。 usertype smallint systypes 中的用戶定義數據類型 ID。 printfmt varchar(255) 僅限內部使用。 prec smallint 該列的精度級別。 scale int 該列的小數位數。 iscomputed int 表示是否已計算該列的標志: 0 = 未計算。 1 = 已計算。 isoutparam int 表示該過程參數是否是輸出參數: 1 = 真。 0 = 假。 isnullable int 表示該列是否允許空值: 1 = 真。 0 = 假。 COLUMN_DEFAULT 默認值 PKey 主鍵。////////用到了如下函數: ---------------------CREATE;FUNCTION dbo.fnIsColumnPrimaryKey(@sTableID int, @nColumnName varchar(128))--alterFUNCTION dbo.fnIsColumnPrimaryKey(@sTableName varchar(128), @nColumnName varchar(128))RETURNS bitASBEGINDECLARE @nTableID int, @nIndexID int, @i intSET; @nTableID =; @sTableID--OBJECT_ID(@sTableName)SELECT; @nIndexID = indidFROM; sysindexesWHERE; id = @nTableID AND; indid BETWEEN 1 And 254 AND; (status & 2048) = 2048IF @nIndexID Is Null RETURN 0IF @nColumnName IN (SELECT sc.[name] FROM; sysindexkeys sik INNER JOIN syscolumns sc ON sik.id = sc.id AND sik.colid = sc.colid WHERE; sik.id = @nTableID AND; sik.indid = @nIndexID) BEGIN RETURN 1 END

RETURN 0END---------------------通過這個SQL語句可以查出數據庫中所有表的列屬性。通過分別執行兩次這個SQL語句,就可以取出兩個庫中列的屬性比較了。----------------------------------------------------------------對于存儲過程和函數 用下面的SQL語句:select * from sysobjects; where xtype in ('P','TF','IF','FN'); order by [Name] 可以查詢出所有的存儲過程和函數名。循環查詢出來的 結果,每個循環中 將函數或存儲過程名存到一字符串SpobjectName中,然后調用 存儲過程: sp_helptext 如下:exec sp_helptext '' +SpobjectName+'' 返回一個表 表中就是 SpobjectName 存儲過程中的文本類容 。存儲過程中一行文本對應表中一行。把所有的SP和函數把用 exec sp_helptext 執行就得到了所有的存儲過程和函數的代碼。將得到的結果放一個表中再比較異同就是了。

參考:SQL Server 聯機叢書< 數據庫中存儲過程的自動化生成>(http://www.vckbase.com/document/viewdoc/?id=1111)現在只做了比較表和視圖的列屬性,以及存儲過程和函數.沒有實現比較表之間了約束關系.以后加上.

標簽: Sql Server 數據庫
主站蜘蛛池模板: 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 魔方网-培训咨询服务平台 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 好杂志网-首页 | 高低温万能试验机_拉力试验机_拉伸试验机-馥勒仪器科技(上海)有限公司 | 自动化展_机器人展_机床展_工业互联网展_广东佛山工博会 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 扒渣机,铁水扒渣机,钢水扒渣机,铁水捞渣机,钢水捞渣机-烟台盛利达工程技术有限公司 | 挤出熔体泵_高温熔体泵_熔体出料泵_郑州海科熔体泵有限公司 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 盘古网络技术有限公司| 盘古网络技术有限公司| 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 烘箱-工业烘箱-工业电炉-实验室干燥箱 - 苏州华洁烘箱制造有限公司 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 脉冲除尘器,除尘器厂家-淄博机械| EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 脉冲除尘器,除尘器厂家-淄博机械 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 直流大电流电源,燃料电池检漏设备-上海政飞| 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 |