引用列的统计信息是否会阻止删除该列?

2024-02-15

我正在尝试一个非常简单的drop column陈述:

alter table MyTable drop column MyColumn

并收到几个错误

消息 5074,16 级,状态 1,第 1 行
统计信息“_dta_stat_1268251623_3_2”取决于列“MyColumn”。

最终紧随其后的是

消息 4922,16 级,状态 9,第 1 行
ALTER TABLE DROP COLUMN MyColumn 失败,因为一个或多个对象访问此列。

我不认为统计数据会阻止列被删除。他们有吗?如果是这样,由于这些显然是自动创建的统计信息,我不能依赖同一数据库的多个副本中相同的名称,那么我如何在要在不同数据库上执行的升级脚本中删除所有此类统计信息?


JNK 答案中提出的代码不起作用,但这个想法很好。如果您想删除所有用户创建的统计信息,这是我经过测试的解决方案:

DECLARE @sql NVARCHAR(MAX)

DECLARE statCursor CURSOR FOR 
SELECT 
    'DROP STATISTICS ' + QUOTENAME(SCHEMA_NAME(t.schema_id)) 
                        + '.' + QUOTENAME(t.name) 
                        + '.' + QUOTENAME(st.name) AS sql
FROM
    sys.stats AS st 
    INNER JOIN sys.tables AS t
        ON st.object_id = t.object_id
WHERE
    st.user_created = 1
ORDER BY 1;

OPEN statCursor;

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

引用列的统计信息是否会阻止删除该列? 的相关文章

  • 如何检查是否启用了更改跟踪

    我试图在运行之前确定我的数据库是否已启用更改跟踪ALTER DATABASE命令来启用它 我试图防止这些脚本多次运行时出现错误 我签到了sys databases and sys dm tran commit table但无法找到我要找的东
  • 如何更新 SQL Server 中 ntext 列中的 XML 字符串?

    有一个包含 2 列的 SQL 表 ID int 和值 ntext 值行中包含各种 xml 字符串 ID Value 1
  • SQL 查询在多用户环境中返回错误值

    一段时间以来 我们在我们的一个客户站点上发现了奇怪的数据完整性问题 经过大量调查后 我们现在已将其隔离为数据库调用 如果两个用户同时调用同一个存储过程 有时一个用户会得到另一个用户的结果 我们设置了一个测试来验证这一点 并且我们有一个循环
  • 如何使用低权限的 PL-SQL 获取 Oracle 中的列数据类型?

    我对 Oracle 数据库中的一些表具有 只读 访问权限 我需要获取某些列的架构信息 我想使用类似于 MS SQL 的东西sp help 我看到此查询中列出了我感兴趣的表 SELECT FROM ALL TABLES 当我运行这个查询时 O
  • 使用 SqlDataReader.IsDBNull 时使用列名

    我已经得到了从 SQL DB 读取数据的代码 我不知道应该如何编辑它 以便我可以使用原始列名称而不是列索引 string query SELECT FROM zajezd WHERE event thisrow AND year klien
  • 避免数据集中出现重复名称

    我正在从表中获取数据并绑定到标签并在 gridview 中下拉 但我想从表中过滤重复的名称并将相应的日期分配给 DDL 如何做到这一点 或者还有其他选择吗 private DataSet get string sql select Id N
  • 复制数据库的最佳方法是什么?

    当我想要复制数据库时 我总是创建一个新的空数据库 然后将现有数据库的备份恢复到其中 然而 我想知道这是否真的是最不容易出错 最不复杂且最有效的方法 可以跳过创建空数据库的步骤 您可以在恢复过程中创建新数据库 这实际上是我所知道的克隆数据库最
  • 在SQL中,如何通过查找与某一列相等的所有行来更新表的每一行,然后将另一列设置为彼此相等

    所以基本上这就是伪代码 但我不知道如何在 SQL 中执行此操作 请帮忙 for each row in table1 loop through each row in table 2 if table1 s row column 1 tab
  • 如何查询集成服务目录

    问题 识别连接到 SQL Server 上特定数据库表的所有 SSIS 包 详细信息 服务器上部署了近 100 个包 大多数包的大小都很大 因此很难以高精度手动检查它们 有没有一种快速且自动化的方法来做到这一点 使用 SQL Server
  • 无重复组合的交叉连接

    我知道这个问题与这个问题非常相似 对称交叉连接 https stackoverflow com questions 12490244 symmetric cross join还有这个 sql 中交叉连接的组合 不是排列 https stac
  • [SqlException (0x80131904) 的问题:无效的对象名称“dbo.TableName”。]

    我在 google 和 stackoverflow 中查找 但没有找到答案 如何通过 VS 2010 中的连接字符串连接到我的数据库表
  • 创建具有动态列数的临时表

    我正在尝试创建一个具有动态列数的临时表 set cmd SELECT into temp3 from select from sometable x pivot max buildrate for name in columns as y
  • 如何在事务中使用链接服务器插入远程表?

    我的链接服务器设置正确 我能够执行以下查询 插入 远程服务器 表 SELECT FROM 本地服务器 表 然而当我做同样的事情时交易内 开始传输 插入 远程服务器 表 SELECT FROM 本地服务器 表 提交交易 我收到类似的错误 用于
  • 在 Sql STUFF 命令中将最后一项的逗号分隔符替换为“and”

    如果我查询的输出是英国 美国 印度 是否可以像英国 美国那样显示查询结果and India 这是我的查询 Select stuff Select Distinct Country as text from tbl Country where
  • 在 azure Devops 管道中部署 SQL 时遇到错误

    我在 azure Devops 的发布管道中使用 sql DACPAC 类型的部署 但出现以下错误 我对 SQL 不了解 有什么建议吗 Publishing to database database name on server Serve
  • 如何搜索表中的所有列?

    如何在 SQL Server 中搜索表的所有列 SELECT FROM yourtable WHERE val IN field1 field2 field3 field4 如果您正在寻找精确的全场比赛 如果你正在寻找子字符串匹配 你将不得
  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • 实体框架中的批量插入

    我使用批量插入插入大量记录 例如 20K 当我仅插入一个实体时 它会正常工作 但是 当我用来插入多个实体 例如一对多 时 它将仅插入父实体 而不会插入子实体 我的实体和代码 Customer cs public class Customer
  • SQL Server Like 查询不区分大小写

    Query SELECT from Table 2 WHERE name like Joe Output 1 100 Joe 2 200 JOE 3 300 jOE 4 400 joe 为什么不区分大小写 Problem 查询不区分大小写
  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1

随机推荐

  • 如何将 List 绑定到 ItemsControl?

    在我的演示者中 我有这个属性 public List
  • CloudFormation 不断为我的 S3 存储桶模板的部署抛出 InvalidBucketAclWithBlockPublicAccessError

    Goal 创建一个 S3 存储桶 我的服务将向其中写入图像 并且任何人都可以从中读取图像 因为我将在我的服务的网页上显示该图像 Problem 因此 我有一个非常通用的 我认为 S3 存储桶模板 它应该允许任何人读取其中的对象 SomeS3
  • 使弹性项目包裹在列方向容器中

    因此 要使用行布局将元素包装在 Flex div 中 我所要做的就是 div display flex flex direction row I want to change this to column flex wrap wrap wr
  • HyperSQL (HSQLDB):海量插入性能

    我有一个应用程序 必须将大约 1300 万行 大约 10 个平均长度的字符串插入到嵌入式 HSQLDB 中 我一直在调整一些东西 批量大小 单线程 多线程 缓存 非缓存表 MVCC 事务 log size 无日志 定期调用checkpoin
  • 下拉菜单/文本字段合二为一

    我正在构建新网站 我需要一个下拉菜单来选择网站中的内容数量 但同时我需要这个下拉列表来接受文本 因此 如果客户想从下拉列表中进行选择 那么他可以 如果客户想通过文本输入金额 那么他也可以 正如你所看到的 我想把它变成双重的 例如 假设有一个
  • Java 泛型不兼容类型(不存在类型变量 T 的实例)

    这基本上是我第一次接触 Java 泛型类型 我无法弄清楚下面的代码有什么问题 我有一个助手类Helper具有静态函数inRange使用泛型类型应该从输入列表中返回特定对象的列表range围绕索引处的对象index 我还没有测试过 如果它工作
  • 如何在 WordPress 中加载 Ajax

    我熟悉以 jQuery 的普通方式使用 ajax 我已经玩了一段时间了 但不明白 WordPress 需要什么才能让它工作 我这里的内容取自一些教程或文章 这是在函数 php 在儿童主题中 code to load jquery worki
  • 如何在 Moderngl EGL 后端启用抗锯齿功能?

    当没有抗锯齿时 此代码呈现一个彩色三角形 samples 0 但是当我打开抗锯齿功能时 samples 1 32 它无法渲染任何东西 如何使其与抗锯齿一起使用 也许我无法直接从多重采样 fbos 或纹理中读取像素 但我不知道如何解决这个问题
  • jQuery Mobile“pagebeforechange”被调用两次

    我为 pagebeforechange 设置了以下侦听器 与 jQuery Mobile 文档自己的代码非常相似 并且在主页上有一个正在调用的链接http localhost product id 255979 http localhost
  • ASP.Net core 中全大写属性名称默认驼峰命名法序列化为 JSON 的问题

    我对 Net Core 的默认序列化 CamelCasing 行为有疑问 希望看看其他人是否也遇到同样的问题以及他们使用了什么解决方法 像 FOO12 或 FOO1 这样的属性名称被错误地序列化为类似 foO12 或 foO1 事实上 它们
  • 您的 InputStream 既不是 OLE2 流,也不是 OOXML 流

    我正在使用 Apache Commons 在 Google 应用程序引擎中上传 docx 文件 如本链接中所述文件上传 Servlet https developers google com appengine kb java csw 1
  • 在 Docker 中使用卷访问容器文件系统

    我是 Docker 的新手 正在尝试让卷正常工作 但有些事情不太正确 我已经在 Docker 上安装了 Wordpress 如 Docker 教程中所述 https docs docker com compose wordpress htt
  • 从包类型扩展命名空间

    我在这里尝试从包类型扩展命名空间 typings fullcalendar
  • Git 推送和弹出?即,结帐最后状态

    我正在编写一个 Bash 脚本 我想签出一个标签 然后签回到我开始的地方 I tried git co HEAD 1 但是当从 master 开始时 这会让我回到 master 的提交 SHA 但头是分离的 有没有类似的东西pushd po
  • 有没有办法安装 jar 本地 gradle 存储库,就像在 mave 中一样(maven install:install-file [重复]

    这个问题在这里已经有答案了 我以前只使用 maven 当项目需要一些在任何存储库中都没有的 jar 时 我可以使用以下命令安装它 mvn install install file Dfile
  • WIX 错误 - ICE03:不是有效的外键

    目前使用 WIX v3 6 3303 开发安装程序项目 我们正在使用 CruiseControl 在发布前自动构建和测试各种更改 这是我们从测试构建中返回的错误 errorLGHT0204 ICE03 Not a valid foreign
  • PyQt 的优雅命令行参数解析

    我正在编写一个新的 PyQt 应用程序 我正在尝试使用尽可能多的 PyQt API 来完成与程序和 ui 相关的所有事情 作为提高我对 PyQt 和 Qt 总体知识的一种手段 我的问题是 PyQt Qt 中是否有 API 可以优雅地处理命令
  • 在开发过程中绕过或关闭 [Authorize(Roles="")]?

    构建 MVC3 应用程序 TPTB 希望我们使用他们的自定义授权提供程序 然而 在开发过程中 这个身份验证提供程序有点麻烦 因为它要么在您关闭 重新启动浏览器之前给出错误 要么要求您在每次编译时重新登录 现在 我只是添加了
  • 查询范围不等于0

    我在 AX 2012 R2 环境中 我想向 HcmEmployment 表添加查询范围并过滤掉 LegalEntity 值 0 的行 以下代码在运行时失败 并出现 无效范围 异常 qbrLegalEntity qbds addRange f
  • 引用列的统计信息是否会阻止删除该列?

    我正在尝试一个非常简单的drop column陈述 alter table MyTable drop column MyColumn 并收到几个错误 消息 5074 16 级 状态 1 第 1 行统计信息 dta stat 12682516