ITPub博客

首页 > 数据库 > SQL Server > MSSQL数据库数据比对

MSSQL数据库数据比对

原创 SQL Server 作者:lhrbest 时间:2020-09-17 14:23:02 0 删除 编辑

MSSQL数据库数据比对


工具一:SSDT工具


1.安装SQL SERVER Data Tools 最新版本(低版本可能出现兼容问题),会安装最新版的VS,只不过功能不全;

2.安装完毕后,打开VS,这里以VS2012为例:

2.1、架构比较

a. 选择"SQL->架构比较->新建架构比较",打开架构比较窗口:

b. 在"选择源"中设置新版的数据库连接,"选择目标"中设置旧版的数据库连接,完成后点击比较按钮,VS分析完成后会生成如下界面,在该界面可以去掉不需要更新的脚本,完成后点击生成脚本按钮生成数据库结构升级脚本;

注:在旧版的数据库中执行数据库结构升级脚本(生产环境下数据库必须先备份),在SQL查询器中必须选中SQLCMD模式

 

2.2、数据比较

 a. 选择"SQL->数据比较->新建数据比较",打开数据比较弹出框;源数据库设置新数据库,目标数据库设置旧数据库;一般不会对旧数据库的原有数据进行删除操作,故可以撤销要比较的记录后两项,如下图:

b. 点击下一步,设置需要比较的数据库( 注:只有设置了主键的表才能进行比较,进入此界面

c. 点击完成后,VS会显示下图的差异化界面,在该界面去掉无需升级的差异化表数据,设置完成后点击"生成脚本"按钮,生成数据库升级脚本,执行该脚本到原始库中,完成整个数据库升级过程。








工具二: https://www.cnblogs.com/libaidev/p/5874367.html

简介

数据库数据对比工具(MSSQL版)是针对MS SQL Server的一款小工具,可以针对两个数据进行表结构和数据的对比。

1、表结构对比:如开发库和正式库之间的结构和数据同步,此工具可以告诉您哪个表结构有字段的增加减少,或者字段类型的改变,并生成sql进行结构的同步。

2、数据对比:如对比两个数据库中的某个表的数据差异,有差异的行会用颜色进行标记,可生成sql脚本进行两个库的同步。

下载地址

下载地址:

Csdn下载地址:

 

运行环境

1、可执行程序SQLDiff.exe

2、需要.net framework4.0,如果没有环境,请先下载安装

 

运行图:

 

 

具体操作过程

设置数据源

下载完毕后解压。

运行:

 

 

设置数据源:

 

 

 

点确定后,可以显示两个数据库之间差异的表,如下图红色行中显示。

 

 

表结构对比

点击行后面的比结构,可以详细比较表结构之间的差异,并形成sql脚本,用户点确定后执行。

 

点确定后,即可执行成功,目标表中的表结构也将改变。

 

表中字段增减也可以同步,如下图:

 

如上图中,dept表中的字段差异,也可以检查出来,并形成脚本进行同步。

 

 

数据对比

选择某张表,然后,点【比数据】,如下图。

 

然后,就可以看到如下图,有区别的数据用红色标识,并且会将两行数据放在一起对比,并用颜色区分出差异数据。

 

 

生成修改的脚本,如下图。

 

 


SQL Server 数据库比对工具(red gate toolbelt)


SQL Server 数据库比对工具(red gate toolbelt)

官方网站

 

1、SQL Compare:用来比较和同步SQL Server数据库模式。 由于它易于使用,快速,而且节省时间,被全球150,000个开发者,DBAs和测试工程师所使用。不管你与即时数据库,数据库快照或数据源下的对象SQL脚本工作,SQL Compare将简单快速的,零错误的帮助你比较和同步数据库的变化。

详细信息

需求:

Windows 2000, Windows XP, Windows Vista or Windows 2003 Server

SQL Server client-side tools

SQL Server 2000 or SQL Server 2005

Microsoft .NET Framework 2.0

MDAC 2.8+

256 MB RAM

30 MB hard disk space

Runs on a user's PC (can also run on a server)

特征:

比较和同步SQL 2000 和 SQL Server 2005数据库模式,消除了乏味的时间,消除了易于出错的手工工作。

比较和同步即时数据库,快照或SQL脚本文件。

从一套对象SQL脚本中部署即时数据库

集成源控件与SQL Changeset

生成同步脚本,使数据库可以完全同步

支持所有的模式对象,包括,但不限于,表格,存储过程,鼠兔,用户定义函数,XML模式集合,和CLR Assemblies。

快速产生比较结果和同步脚本。

在任何运行SQL同步脚本之前提供警告。

在Microsoft SQL Server数据库模式中的图解差异比较。

保存脚本,用于以后使用

保存模式快照用于审计和重新执行用途

以HTML 或 Excel格式生成报表用于数据库变化的跟踪检查

离线比较能力,你可以断开数据库比较。

2、SQL Data Compare:比较和同步服务器数据库内容,用来自动化迁移,分析损坏的数据,从备份中恢复行级数据和编译丢失或变化数据的审计跟踪。它是行业标准的工具,用来比较和同步2个数据库的内容。 用 SQL Data Compare的零散的SQL变化脚本,你可以恢复损坏或丢失的数据到一行,无需完整的数据库恢复,这意味着你可以更快的修理数据库。

详细信息

特征:

比较和同步Microsoft SQL Server数据库,消除时间冗余,不用手工工作。

比较与备份 – 本地 SQL Server 或 Red Gate SQL Backup,能够快速的行级恢复损坏或丢失的数据(Pro版本)。

完全支持SQL Server 2005, 包括字符串到XML或CLR数据类型的转换和CLR, DDL和 DML触发器。

备份比较,因此,你可以在很少时间内编译广泛的审计跟踪,并获得更多有用的任务。

比较主关键字和独特的索引,可以让你灵活的定义相同的行。

自定义比较键,你可以基于任何字段比较数据库 – 它甚至不必是唯一的!

支持索引视图,你可以查看视图以及表格的数据差异。

“枢轴视图”差异导航以列的形式显示行数据,用来快速确认和选择用于同步的数据。

比较和同步大型数据库 – 工作于数据库的上千表格和十亿字节数据。

简单使用和隐藏来自用户的复杂性。一旦比较完成,一个脚本会自动生成。

与SQL Query Analyzer 或 SQL Server Management Studio集成。

以文本或二进制传送CLR数据类型,用来提高速度。

映射可以让你比较表格,视图,甚至整个模式。

3、SQL Backup:用来创建,压缩和保护你的SQL Server备份的一个全球领先的工具。 兼容SQL Server 2000 和 2005,它包含了一些功能使得备份更快,更简单和更安全。SQL Backup被全世界将近5,000个企业所使用,像GE, 3M, AT&T, Los Alamos National Labs, Unilever, Panasonic 和 the US Navy。

详细信息

SQL Backup有2个版本可用: Pro 和 Lite。

Features List

Pro

Lite

Up to 95% smaller backups



可用的压缩级别

Four

One

友好的GUI 可以中央管理备份和恢复活动



GUI 中的时间线监控可以可视化一切活动



与SQL Server 集成来安排备份工作



多线程优化备份性能



上下文帮助文件和GUI 中的嵌入提示



使用Microsoft SQL Server Management Studio 或数据库连接层(如ADO或OLE DB)扩展存储过程来运行备份和恢复操作



命令行界面,这样您就可以在脚本和批处理文件中运行备份和恢复操作



可编写脚本支持SQL Server 2008 Enterprise Edition 的原生压缩级别



256 位和128位AES 加密



备份的网络还原能力



可编写脚本支持对恢复的网络还原能力



'自我修复'日志传送



支持集群安装机制



对备份活动的电子邮件通知



企业和服务器级别报表



在恢复前自动杀死现有的链接



自动检查孤立用户



跳过数据库的初始化,用于日志传送



SQL Object Level Recovery Pro



从GUI 中远程访问和管理所有服务器的备份



支持SQL Server 的64位版本



特征:

压缩 – 三个层次的压缩,让你可选择优化速度或大小。

压缩分析器 – 样本数据帮助你确认哪种压缩级别最适合你的需求。

非常安全的备份 – 用 256位 AES加密,SQL Backup安全的保护你的备份文件被非法访问。

恢复的管理很简单,不需要花费太多时间。复杂性可以通过提供的过滤选项被移除。

使备份和恢复都更快 – 备份所花费的时间大大的减少,这将减少在备份过程中的出错机会。 GUI – 利用友好的向导引导你备份和恢复。

时间监控可以让你可视化过去,现在和将来的活动。时间是高度互动的,让你可以放大和缩小的查看潜在的冲突和备份和恢复的状态。只需要一次点击,你就可以改变预定备份和恢复的属性。

增强的备份和恢复历史同时在时间轴和历史选项卡上,这样,你可以在造成备份失败之前查明问题领域。

与SQL Server Agent集成 – 这样你可以安排定期的数据库备份,且不用干预。

企业和服务器级报表意味着你可以生成涉及你的真个企业或仅仅一台服务器的报表。

命令行界面 – 用于想完全控制SQL Backup的用户。使用语法类似T-SQL的BACKUP和 RESTORE命令来设置你的维护计划。

扩展的存储过程 – 使用Microsoft SQL Server Management Studio运行备份和恢复操作。

分裂备份 – 充分利用多CPU和高速磁盘阵列系统来加速备份和将来的恢复过程。

镜像备份 – 同时创建2个或多个备份文件到不同的磁盘,以尽量减少媒介错误的可能性。

引擎内的多线程让你快速的实现备份到单一的文件。

日志传送向导引导你设置日志传送备份和恢复工作。

软件的即时支持-提示– 点击GUI上的Hints图标来读取你想要帮助的简明提示。

4、SQL Response:查询响应,监控SQL SERVER,同时也可以监控与数据库有关的操作系统的指标

5、SQL Prompt:查询提示,对函数的参数,存储过程参数智能提示的支持,对象定义智能提示等。(另外还有一个格式化代码的功能,快捷键:Ctrl+K+Y )。

SQL Prompt Bundle 产品套包中包括的产品有 SQL Prompt Pro, SQL Refactor, SQL Data Generator 和 SQL Doc Pro。

详细信息

SQL Prompt Pro:SQL Prompt自动检索数据库对象的名称,语法和代码片段,智能的提供一些恰当的代码选择。

SQL Refactor:SQL Refactor让你自动的设计符合你风格的SQL代码和数据库对象。SQL Refactor改善你代码的质量,使它更容易阅读,理解和分享。 配套工具SQL Prompt一起, SQL Refactor大大加速了数据库的开发和管理,不影响你数据库和应用程序的行为。

SQL Data Generator:SQL Data Generator智能的创建现实测试数据,自动的将表格和列名称带入account, 连同字段长度和任何现有约束。毕竟,你不想你的咖啡杯充满洗碗水吧。

SQL Doc Pro:SQL Doc是一个快速,简单的工具,可以连接到你的数据库,然后写,编辑和输入文档为易于阅读的HTML格式或HTML Help (.CHM)格式。

6、SQL Data Generator: 智能的创建现实测试数据,自动的将表格和列名称带入account, 连同字段长度和任何现有约束。毕竟,你不想你的咖啡杯充满洗碗水吧。

详细信息

特征:

生成的数据完全符合你的数据库模式

直观,易于使用的用户界面,让你可以立即开始填充你的数据库

在表格名称,列名称和数据类型的基础上智能生成合适的数据

超过60个内置的生成器与明智的配置选项

跨列依赖项支持,例如,生成的记录匹配电子邮件地址和域名

通过使用SQL Server的大量复制插入功能快速的生成数据

支持所有的SQL Server 2000 和 2005数据类型,包括CLR类型

支持命令行,用来自动生成数据,例如作为你构建过程的一部分

外键支持,可以无需手工配置,生成跨多表的一致数据

Seeded随机数据生成可以让你每次生成相同的一批数据

从现有表格中获取数据,轻松创建一个包含有数据样本的数据库

从csv 或tsv 格式的flat 文件中导入数据

选择禁用触发器和约束来避免干扰数据库逻辑

当源数据是不同的数据类型时,自动转换数据

在任何.NET语言下的用户定义的生成器可以完全控制生成的数据

7、SQL Multi Script:旨在为DBA和数据库开发者加快数据库的管理,SQL Multi Script能够快速简单的执行多个SQL Servers的多个脚本。一系列的功能来协助你改变的对SQL Servers的管理。你是否想要部署一个脚本,或并行的从不同服务器的多个数据库中提取数据,SQL Multi Script通过大大较少所需的步骤来完成你的任务来节省你的时间。

详细信息

特征:

运行脚本来收集在网格或文本布局中易于查看的合计结果。

导出结果为.csv 或 .txt文件。

定制,配置和保存多个SQL Servers上的数据库列表,你可以运行脚本,用于将来使用。

设置多个脚本的执行顺序。

反馈每个数据库的哪个脚本被执行。

创建新的脚本,用一个易于使用的脚本编辑器,它有彩色语法醒目,查找和替换,以及分割屏幕编辑等功能。

取消查询和失败行为菜单让你选择在部署脚本是错误发生了该干什么。

为个别的结果设置不同的标签。

SQL Server的消息对所有的数据库显示。

配置并行运行脚本的数据库的数目。

执行在脚本中选定的文本。

用户界面中的嵌入帮助可以即时帮助你。

 

8、SQL Refactor:数据库重构,一个对象改名后,与这个对象相关的存储过程,触发器都会相应改变。可以让你自动的设计符合你风格的SQL代码和数据库对象。SQL Refactor提高你代码的质量,使它更容易阅读,理解和分享。配套SQL Prompt一起, SQL Refactor大大加速了数据库的开发和管理,不影响你数据库和应用程序的行为。

详细信息

特征:

布置SQL重新格式你的T-SQL脚本。有超过30个选项来控制这个功能。布置SQL,这些选项可以从顶级SQL Refactor菜单中被访问。

智能重新命名函数,视图,存储过程和表格,更新所有的引用到这些重命名对象。你可以在Management Studio的Object Explorer的上下文菜单中选择此项功能。

智能重新命名参数和存储过程和存储程序和函数的列重新命名参数,和表格和视图的列。你可以在Management Studio的Object Explorer的上下文菜单中选择此项功能。

Split Table 分裂一个表格为两个表格,并自动改写引用的存储参数,视图等等。你可以使用重构来引进参照完整性表格。你可以在Management Studio的Object Explorer的上下文菜单中选择此项功能。

Uppercase Keywords使关键字在你的脚本或选择中变成大写。

Summarize Script为你提供了你脚本的一个概述。在这个概述上,通过突出一些项目,你可以查看在你脚本中的相应陈述。

Encapsulate As New Stored Procedure让你选择进入一个新的存储过程,如果需要,在你的脚本中引进一个reference。

Expand Wildcards扩展SELECT *语句来包含一个选定部分列的完全列表。

Unused Variables 和 Parameters显示你脚本中未使用或为哟分配的变量和参数。

Qualify Object Names 修改脚本,使所有对象的名称使合格的。你可以从顶级SQL Refactor菜单中选择此项功能。

9、SQL Doc:SQL Doc是一个快速的,简单的工具,让你链接到数据库,并写,编辑和输出文档到一个易于阅读的HTML或HTML Help (.CHM)格式。兼容SQL Server 2000 和 SQL Server 2005,它可以让你快速的访问数据库的概述,包括模式和依赖性。

详细信息

特征:

SQL Server 2000 和 SQL Server 2005的数据库文档消除了繁琐的和费时的手工文件编制。

允许多个数据库文件编制。生成易于阅读的HTML文档或编译的HTML Help(.CHM)文件,可以分发到团队中。导出文件为HTML 或 .chm文件,易于分发。简单直观的用户界面与整个应用程序协调。让你获取数据库模式的概述以及跨对象和跨数据库的依赖性。通过使用扩展属性让用户注释数据库模式所有部分。

10、SQL Dependency Tracker:依赖跟踪,可视化查询对象相关性。让你使用一系列图解布局,动态的探讨你所有的数据库对象的依赖性。你可以分析大型的Microsoft SQL 2000 和 SQL 2005 数据库,并生成一个易于阅读的依赖性图解,用来彻底的预先影响分析所有数据库的改变。快速简单的直观的表现数据库结构,包括可拖动的“概览”窗口来快速导航大型数据库,剪贴板功能用来节省和打印你的目标图解。

详细信息

特征:

图解你数据库的依赖性 – 直观的追踪和探索你数据库的依赖性。

分析变化的影响 – 添加对象到图解中,对象可以使用它们被自动添加。

显示对象的源SQL脚本 – 详细细节请查阅对象的SQL定义。

追踪跨数据库依赖性 – 查看数据库之间的外部引用并遵循它们。

多个数据库,一个图解 – 追踪在同一图解和项目中的相关数据库之间的依赖性。

自定义你的图解 – 移动周围对象和改变它们的色彩。

直接从图表打印或导出为PDF搜索,整理和筛选对象 – 找到你感兴趣的对象。

复制图表到其他程序中 – 在文字处理文档,简报和其他程序中使用图表。

导出XML – 导出依赖性的XML定义,用于离线处理。

布局选择 – 从多个自动化布局中选择来整齐的安排你的图表,使导航更容易。

加载/保存图表作为projects – 保存所有相关依赖性信息到一个project中,因此,你可以不用连接到数据库,离线探讨图表。

包含或隐藏约束 – 查看对象或依赖项之间的检查约束,索引和外键。

可选的系统对象和文件组依赖性 – 隐藏这些依赖性,尽量减少凌乱,或显示他们的完整性。

显示列的名称 – 显示表格和视图上列的名称。

找到独立的对象– 寻找潜在的“orphans”与其他对象没有依赖性,帮助你清理你的数据库。

11、SQL Comparison SDK:查询比较,比较和同步任务自动化软件开发工具包。SQL Comparison Bundle 产品套包中包括了 SQL Compare, SQL Data Compare, SQL Packager和 SQL Dependency Tracker 4款产品。

详细信息

SQL Compare Standard Edition:SQL Compare是行业标准的工具,用来比较和同步SQL Server数据库模式。由于它易于使用,快速,而且节省时间,被全球150,000个开发者,DBAs和测试工程师所使用。

SQL Data Compare Standard Edition:SQL Data Compare是用来自动化迁移,分析损坏的数据, 从备份中恢复行级数据和编译丢失或变化数据的审计跟踪。它是行业标准的工具,用来比较和同步2个数据库的内容。

SQL Packager:封装,升级和安装数据库。

SQL Dependency Tracker:SQL Dependency Tracker可以让你使用一些图解的布局,动态的探讨所有数据库对象的依赖。

你可以分析大型的Microsoft SQL 2000 和 SQL 2005数据库,产生一个易于阅读的依赖性图解,来彻底的预先影响所有数据库变化的分析。快速简单的直观的表现数据库的结构,包括:一个可拖动的“overview”窗口来快速导航,剪贴板功能可以用来保存和打印你的目标图表。

12、SQL Packager:部署或更新.封装一个数据库用于部署或更新。SQL Packager 允许您封装一个Microsoft SQL Server 数据库的结构和目录或数据库更新到一个.NET 可执行文件或C# 项目,这样,安装一个数据库就更简单了。您可以使用SQL Packager 来封装数据库结构,数据或两者一起封装用于安装或部署。SQL Packager 还可以让您压缩您的程序包来减少存储经费,更快地部署和分布数据库。

详细信息

需求:

Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2003 or Windows Server 2008

SQL Server client-side tools

SQL Server 2000, 2005 或2008

Microsoft .NET Framework 2.0 以及更高

MDAC 2.8+

128 MB RAM

200 MB 硬盘剩余空间

运行在用户的PC 电脑上( 也可以运行在服务器上)

特征:

选择你想包装的模式对象和数据

包装数据库结构和数据,用于安装或部署。

一个向导,用来定义对象和数据,创建包装。

包装时,简单易懂的英语摘要。

C#代码模板,可以被修改,以适合你需要的外观和感觉。

压缩,使部署或分发软件包更快。

对部署,安装,移动,更新和管理数据库特别有用。

Sql Data Compare 是比较两个数据库的数据是否相同、生成同步sql的工具。

这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLToolbet也是非常有名,SQL Data Compare是SQLToolbet系列工具中的一种。

Red Gate公司出品的这款Data Compare 工具稳定,好用。它还有一个很有用的feature是,可以比较备份集中的数据。也就是我们把客户数据备份之后,拷贝回来,可以直接在这里比较,而不用还原到SQL Server中。

Red gate sql Data compare 官网: products/sql-development/sql-compare/index-b

下面请看Red gate sql Data compare同步用法:

1、

2、

3、

4、

5、

6、

7、

8、



SQL Server两表比对数据


sql server两表比对数据是否完全一直
使用sql server的tablediff工具进行比对

打开cmd cd切换路径到你sqlserver数据库的这个目录下:Microsoft SQL Server\100\COM
本人路径:C:\Program Files\Microsoft SQL Server\100\COM>
输入tablediff运行
然后输入命令进行比对
tablediff -sourceserver 数据库地址A(124.000.000.000) -sourcedatabase “数据库A(有双引号)” -sourceschema “源架构” -sourcetable “表名称” -sourceuser “源用户(数据库用户名)” -sourcepassword “源密码(数据库密码)” -destinationserver 数据库地址B(124.000.000.000) -destinationdatabase “数据库B(有双引号)” -destinationschema “源架构” -destinationtable “表名称” -destinationuser “源用户(数据库用户名)” -destinationpassword “源密码(数据库密码)”

tablediff -sourceserver 124.000.000.00.0000 -sourcedatabase “demo” -sourceschema “dbo” -sourcetable “surfaceA” -sourceuser “aa” -sourcepassword “123456” -destinationserver 124.000.000.00.0000 -destinationdatabase “test” -destinationschema “dbo” -destinationtable “surfaceB” -destinationuser “aa” -destinationpassword “123456”

源架构test数据库名 dbo源架构 表名
在这里插入图片描述

运行情况:
在这里插入图片描述

tablediff.exe,这个工具就用于表内部数据比较,是MS SQL Server自带的一个工具。各位可以自行搜索自己机器上的这个文件所在的路径。
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

三、构建数据表比较SQL语句:

use UFDATA_006_2015_好酷

SELECT 'tablediff.exe -sourceserver 127.0.0.1\SQL2008R2 -sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷 -sourceschema dbo -sourcetable '+object_name (id) 
+' -destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_006_2015_好酷_out -destinationschema dbo -destinationtable '
+object_name (id)+' -et Difference -f c:\data\'+object_name (id)+'.sql' as SQL
from sysObjects where type ='U'


解析:-sourceserver 127.0.0.1\SQL2008R2 原始数据库实例
sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷
sa是原始数据库用户,dst是sa用户的密码,各位根据自己的设置更改,UFDATA_002_2017_原始好库是原始数据库。
-destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_002_2017_好库导出 
127.0.0.1\SQL2008R2 是目标数据库实例,可以跨越实例比较,sa dst UFDATA_006_2015_好酷_out 都是目标数据库用户名、密码、库名称

f c:\data\'+object_name (id)+'.sql' 这个是把比较结果,写道c:\data目录下,用表的名字命名。
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

四、语句执行方法:
找到tablediff.exe文件路径
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

进入cmd模式下,在路径上输入cmd,回车
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

MS SQL Server数据库两个库之间相同数据表名内容批量对比方法
把得到的SQL语句复制,贴到cmd窗口上。
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

建好c:\data 目录,修改好权限
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

设置sa登录,及密码
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

把得到的SQL语句复制,贴到cmd窗口上:
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

自动运行:
MS SQL Server数据库两个库之间相同数据表名内容批量对比方法

五、等待运行结果

MS SQL Server数据库两个库之间相同数据表名内容批量对比方法


SQL Server两数据库对比更改情况

数据库更改对比一定会用到sqlserver的系统库以下是sqlserver系统表的详情: https://www.cnblogs.com/asdcer/archive/2007/05/14/746377.aspx#Top

–新增字段:
select object_name(id),name
from 数据库A…syscolumns
where name not in(select name from 数据库B…syscolumns)
and id in(select id from 数据库B…sysobjects where xtype=‘u’)
order by object_name(id)

–修改长度字段:
select object_name( a.id), a.name,a.length,b.length from 数据库A…syscolumns a,数据库B…syscolumns b
where  a.id=b.id and  a.name=b.name and a.length<>b.length order by object_name( a.id)

–新增数据表:
select * from 数据库A…sysobjects
where name not in( select name from 数据库B…sysobjects) and xtype=‘U’

–新增存储过程:
select * from 数据库A.sys.procedures
where name not in(select name from 数据库B.sys.procedures) order by name

–修改过的存储过程:
select * from 数据库A.sys.procedures
where name in(select name from 数据库B.sys.procedures) and modify_date>‘2018-07-05’ order by name

–新增视图
select * from test…sysobjects
where name not in( select name from logistics…sysobjects) and xtype=‘V’

字段分析:
object_name(id):数据库中每个对像都有一个唯一的ID值,用Object_name(id)可以根据ID值得到对像的名称,object_id(name)可以根据对像名称得到对象的ID

SQL Server 中系统视图sysobjects中type字段的说明如下:
对象类型:
AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立)
F = FOREIGN KEY 约束 FN = SQL 标量函数 FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数 IF = SQL 内联表值函数 IT = 内部表
P = SQL 存储过程 PC = 程序集 (CLR) 存储过程 PG = 计划指南
PK = PRIMARY KEY 约束 R = 规则(旧式,独立) RF = 复制筛选过程
S = 系统基表 SN = 同义词 SQ = 服务队列
TA = 程序集 (CLR) DML 触发器 TF = SQL 表值函数 TR = SQL DML 触发器
U = 表(用户定义类型) UQ = UNIQUE 约束 V = 视图 X = 扩展存储过程

数据库B…sysobjects:在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。
数据库B.sys.procedures:于同类过程并且 sys.objects.type = P、X、RF 和 PC 的每个对象对应一行。
有关 数据库B.sys.procedures可以查看:
https://blog.csdn.net/weixin_40444678/article/details/81081951




About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在个人微 信公众号( )上有同步更新

● QQ群号: 230161599 、618766405,微信群私聊

● 个人QQ号(646634621),微 信号(db_bao),注明添加缘由

● 于 2020年9月 在西安完成

● 最新修改时间:2020年9月

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店

● 小麦苗出版的数据库类丛书: http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用、DBA学习班http://blog.itpub.net/26736162/viewspace-2148098/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

........................................................................................................................

请扫描下面的二维码来关注小麦苗的微 信公众号( )及QQ群(230161599、618766405)、添加小麦苗微 信(db_bao), 学习最实用的数据库技术。

........................................................................................................................

 

 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2721927/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
【QQ:646634621】【微信:db_bao】【微信公众号:DB宝】【11g、12c OCM】【QQ群:230161599、618766405】【《数据库笔试面试宝典》作者】【OCP、OCM、高可用(RAC+DG+OGG)、MySQL培训班已开讲,只讲实用内容】

注册时间:2012-09-23

  • 博文量
    1608
  • 访问量
    9358881