计算 SQL Server 中表的哈希值或校验和

2024-01-11

我正在尝试计算 SQL Server 2008 中整个表的校验和或哈希。我遇到的问题是该表包含 XML 列数据类型,校验和无法使用该数据类型,必须将其转换为 nvarchar第一的。所以我需要将其分解为两个问题:

  1. 计算一行的校验和,模式在运行前是未知的。
  2. 计算所有行的校验和以获得全表校验和。

您可以使用校验和_AGG http://msdn.microsoft.com/en-us/library/ms188920.aspx。它只需要一个参数,所以你可以这样做CHECKSUM_AGG(CHECKSUM(*))- 但这不适用于您的 XML 数据类型,因此您必须求助于动态 SQL。

您可以动态生成列列表INFORMATION_SCHEMA.COLUMNS然后将 int 插入到模板中:

DECLARE @schema_name NVARCHAR(MAX) = 'mySchemaName';
DECLARE @table_name NVARCHAR(MAX) = 'myTableName';
DECLARE @column_list NVARCHAR(MAX);

SELECT @column_list = COALESCE(@column_list + ', ', '')
        + /* Put your casting here from XML, text, etc columns */ QUOTENAME(COLUMN_NAME)
FROM    INFORMATION_SCHEMA.COLUMNS
WHERE   TABLE_NAME = @table_name
    AND TABLE_SCHEMA = @schema_name

DECLARE @template AS varchar(MAX)
SET @template = 'SELECT CHECKSUM_AGG(CHECKSUM({@column_list})) FROM {@schema_name}.{@table_name}'

DECLARE @sql AS varchar(MAX)
SET @sql = REPLACE(REPLACE(REPLACE(@template,
    '{@column_list}', @column_list),
    '{@schema_name}', @schema_name),
    '{@table_name}', @table_name)

EXEC ( @sql )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算 SQL Server 中表的哈希值或校验和 的相关文章

  • 如何处理用户界面中的数据库约束违规?

    我们使用存储过程在数据库中实现大部分业务规则 我永远无法决定如何最好地将数据约束违规错误从数据库传递回用户界面 我所说的约束更多地与业务规则相关 而不是与数据完整性相关 例如 诸如 无法插入重复的键行 之类的数据库错误与业务规则 不能有多个
  • SQL Server 2008 R2 的 Try_Convert

    我正在使用 SQL Server 2008 R2 并且有一个VARCHAR我想要转换为的列DECIMAL 28 10 using CONVERT 但其中许多行的格式错误 因此无法将它们解析为数字 在这种情况下 我只想通过将结果设置为 0 或
  • 插入后用触发器更新多行(sql server)

    我有一个表 orderDetails 包含订单的产品 产品编号 color size quantity 和一个表库存 产品编号 size color stock 订单完成后 我使用此查询将项目插入表中orderDetails INSERT
  • 恢复 SQL Server 数据库 - 主密钥未打开

    我必须制作远程 SQL Server 数据库的本地副本 我通过使用 Management Studio 中的 任务 gt 备份 来完成此操作 然后 我在本地恢复了备份 该备份似乎包含了所有内容 表 用户 对称密钥和证书 当我尝试执行需要打开
  • 限制 SQL Server 连接到特定 IP 地址

    我想将 SQL Server 实例的连接限制为特定 IP 地址 我想阻止来自除特定列表之外的任何 IP 地址的任何连接 这是可以在 SQL Server 实例或数据库中配置的东西吗 听起来像是你会使用Windows防火墙 http tech
  • 迭代哈希数组

    我编写了下面的例程 迭代哈希值 0 7 并打印出每个哈希值中特定键的值 我需要获取每个哈希中 b4 的值 我想取消 0 7 当存在不同数量的哈希值时使用更智能的东西 例如 有时只有 2 个 也可能有 160 个 my out decode
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • 如何让 LinqToSql 将“索引提示”传递给 sql server?

    由于我们不能相信我们的客户会更新 sql server 中的索引统计信息等 因此我们过去不得不使用索引提示 http www sql server performance com tips hints general p1 aspx 由于我
  • Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?

    我正在尝试从我们公司创建的网站中提取内容 我在 MSSQL Server 中为 Scrapy 数据创建了一个表 我还设置了 Scrapy 并配置了 Python 来抓取和提取网页数据 我的问题是 如何将Scrapy爬取的数据导出到我本地的M
  • Kerberos 双跳

    我们遇到了臭名昭著的 Kerberos 双跳问题 这是一个全新的域 是从以前使用模拟和委派的另一个提供商迁移而来的 我们已将操作系统升级到最新的 SQL 服务器 2017 WPF 应用程序 使用域凭据 gt Web 服务 IIS 10 上的
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • 存储过程和权限 - EXECUTE 就足够了吗?

    我有一个 SQL Server 2008 数据库 其中对基础表的所有访问都是通过存储过程完成的 一些存储过程只是从表中选择记录 而其他存储过程则进行 UPDATE INSERT 和 DELETE 如果存储过程更新表 执行存储过程的用户是否也
  • 有没有办法以编程方式轻松更改多个 SSIS 包上的服务器名称?

    作为发布周期的一部分 我们正在创建多个 SSIS 包来迁移大型数据库 我们最终可能会得到大约 5 10 个 SSIS 包 由于我们有 4 个环境 开发 QA 登台 生产等 是否有一种有效的方法可以在每个 SSIS 包经历不同的服务器环境时更
  • 为什么 SqlClient 在传递 SqlXml 时使用不必要的 XML 转换?

    我有一个关于从 C 代码将 xml 数据类型传递给查询的问题 首先 这是 SQL Server 上的一个表 CREATE TABLE dbo XmlTable id int IDENTITY 1 1 NOT NULL dat xml NOT
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • SQL Server 列名区分大小写

    我使用的数据库具有 French CI AS 排序规则 CI 应该代表不区分大小写 但无论如何都是区分大小写的 我试图理解为什么 我断言这一点的原因是 使用 GIVEN 案例设置进行批量插入失败 但使用另一个 Given 案例设置则成功 例
  • C#的数组列表可以用来填充SSIS对象变量吗?

    我已在 C 脚本中填充了一个列表 并将其值分配给 SSIS 对象变量 然后 我使用该对象变量通过循环遍历 For every do 枚举器来执行一些 SQL 查询 我尝试通过 Foreach ado 枚举器执行此操作 但出现错误 X 变量不
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 如何跨多个表强制执行 CHECK 约束

    我有一个在 Microsoft SQL Server 2012 Express 中记录奶牛繁殖信息的数据库 显然 一头牛只有在出生后才能配种 并且在其一生中可能会配种多次 我需要在我的数据库中强制执行这些约束 我目前已经根据下图安排了一个架
  • Visual Studio 2010 中的数据库设计器

    我需要创建一个全新的 Sql Server 2008 数据库 并希望使用 Visual Studio 2010 Ultimate 中的数据库项目 我已经创建了该项目并在下面添加了一个表格dbo架构 桌子 sql仅以纯文本形式显示 但带有颜色

随机推荐

  • 为所有用户安装可选的桌面快捷方式

    我想做一个wix安装程序 带有optional所有用户的桌面快捷方式 可选的意思 我不能把它放在component主exe的 但在一个单独的component 这样我就可以设置一个单独的feature为快捷方式 当这样做时 wix 抱怨道
  • 避免注册表 php 中的 SQL 注入

    我的本地主机上有一个简单的注册表单 仍在测试 我想知道它是否会受到 SQL 注入攻击 Code name mysql real escape string POST name password mysql real escape strin
  • 如何在 Blazor 服务器应用程序中以编程方式注销(身份)

    在我的代码中 我处理 DbUpdateConcurrencyException 对于更新用户帐户的情况 并且用户不再存在 我想将他们注销 因为他们不再是有效用户 当然 这不是什么大问题 因为这种情况应该很少见 他们尝试访问的任何页面都不会接
  • 价值的存在量化

    我在 Scala 语言中遇到了对值的存在量化 规范 3 2 10 存在类型 x y Inner forSome val y Outer 有人有说明性的用例吗 T forSome val x S 定义为T forSome type t lt
  • docker 中的“/bin/sh: 1: [“apache2ctl”,: 未找到”

    我有一个简单的 Dockerfile FROM ubuntu RUN apt get update RUN apt get install y apache2 RUN apt get install y apache2 utils RUN
  • 你怎么解决? formattastic :label_method 不再可用

    好的 我是 ruby rails 新手 因此 为了弥补我的弱点 我的公司请了一个人来帮助我创建我们网站的骨架 他输入了 formattastic label method 这样我们就可以更改 DDLB 中显示的字段 当我将项目移动到新盒子时
  • IsMobileDevice 如何工作?

    MSDN http msdn microsoft com en us library fhhycabe aspx听起来很容易检测移动浏览器 if Request Browser IsMobileDevice true Response Re
  • VBA仅对文本进行排序,忽略带有公式的单元格

    我有一张非常大的工作表 约有 150 列 其中大部分包含公式 当我想对输入到不使用公式的单元格的数据进行排序时 它会弄乱整个工作表 输入单元格不在一起 目前 我在 VBA 中的解决方案是将单元格复制到另一个 隐藏 工作表 排序并将其全部放回
  • 正确的 C# 命名空间用法是什么?

    我有 Java 背景 我看到很多人说命名空间 包 但环顾一下可用的代码 在我看来 人们使用命名空间的方式并不像使用包那样 目前 我正在开发一个 DLL 来管理对要在两个 Windows 应用程序之间共享的数据库的所有数据访问 到目前为止 我
  • Entity Framework Core 中的自引用/父子关系一对零或一对一

    我想在 Entity Framework Core 中创建一对零或一对一的引用 父子关系 我的意思是我的实体可以有一个父级 public class MyEntity public Guid Id get set public Guid P
  • 仅将 CSS 样式应用于嵌套列表根目录中的第一个
  • 我只想在第一个li应用CSS但是 first child适用于每个 ul 的所有第一个子级 这是我的CODE http jsfiddle net jassi9911 w47LD menu navigation li first child
  • 我可以在哪里获得(相对较新的)稳定版本的 Dart 吗?

    因此 我将我正在参与的项目升级到 1 4 当然是在开发 测试分支 并遇到了一些问题 因此我们想再次使用 Dart 1 3 6 但是 我找不到这个 有谁知道哪里可以下载吗 我看过并主演过https code google com p dart
  • 如何在 Xamarin Android 中运行时执行 C# 代码?

    我在 Xamarin Studio 中有一个 Android 应用程序 我想执行文本 字符串 中放置的代码 例如this https stackoverflow com questions 4181668 execute c sharp c
  • MYsql FULLTEXT 查询产生意外的排名;为什么?

    i m trying fulltext search with tags but it doesn t works properly for me chek attached image please 查询是 SELECT MATCH ta
  • 当生产者也是消费者时,如何在生产者/消费者模式中使用 BlockingCollection - 我该如何结束?

    我有一个递归问题 消费者在树的每个级别执行一些工作 然后需要递归树并在下一个级别执行相同的工作 我想用ConcurrentBag BlockingCollection等并行运行它 在这种情况下 队列的消费者也是队列的生产者 我的问题是这样的
  • 让 jQuery UI 的日期选择器始终以某个方向打开?

    我正在使用 jQuery UI 的 datepicker 控件position fixed我的页面底部的工具栏 有时 在随机计算机上 日期选择器会出现在工具栏下方 这意味着它位于页面之外 无法查看或与之交互 有没有办法强制日期选择器控件的位
  • 更新 UITabBar 视图?

    我有一个应用程序 我使用工具栏上的按钮来调用视图 但我将其切换为使用选项卡栏 使用按钮时 我在 MainViewController m 中使用以下代码来更新页面上的值 并且工作正常 IBAction loadSummaryView id
  • 以最佳性能将数据插入 SQL Server

    我有一个大量使用数据库 SQL Server 的应用程序 因为它必须具有高性能 所以我想知道从执行时间的角度将记录插入 DB Fastest 的最快方法 我应该用什么 据我所知 最快的方法是创建存储过程并从代码 ADO NET 调用它 请让
  • 根据两个向量计算方向角?

    假设我有两个 2D 向量 一个用于对象的当前位置 一个用于该对象的先前位置 如何计算出行进的角度方向 这张图片可能有助于理解我所追求的 图片 http files me com james ingham crcvmy http files
  • 计算 SQL Server 中表的哈希值或校验和

    我正在尝试计算 SQL Server 2008 中整个表的校验和或哈希 我遇到的问题是该表包含 XML 列数据类型 校验和无法使用该数据类型 必须将其转换为 nvarchar第一的 所以我需要将其分解为两个问题 计算一行的校验和 模式在运行