唯一索引的分区列必须是索引键错误的子集

2024-02-23

所以我的项目要求我使用分区将名为 Leases 的表分成两个(分区的一侧是早于 2003 年 1 月 15 日的租约,另一侧是比该日期更新的租约)

基本上我之前创建了一个名为“Leases”的表,我想为其创建一个分区(我需要创建一个全新的表来执行此操作),因此我将该表中的所有数据复制到一个名为“Leases2”的新表现在,当我尝试传输所有约束时,除了主键约束之外,它们在新表上都执行时没有错误。

PS:我是sql新手。

所以我像这样创建了我的分区:


CREATE TABLE Leases2
(
    ContractDate        datetime    NOT NULL,
    FirstPaymentDate    datetime    NOT NULL,
    MonthlyPayment      money       NOT NULL,
    NumPayments         tinyint     NOT NULL,
    VIN                 char(23)    NOT NULL,
    CustomerID          int         NOT NULL,
    LeaseTermID         int         NOT NULL
)
ON LeasesOldNewScheme (ContractDate)
GO

CREATE PARTITION FUNCTION LeasesOldNew (datetime)
AS RANGE RIGHT FOR VALUES('2003-01-15 00:00:00.000')
GO


CREATE PARTITION SCHEME LeasesOldNewScheme AS
PARTITION LeasesOldNew TO (OLeases, NLeases)
GO

ALTER TABLE Leases2
ADD PRIMARY KEY (LeaseTermID);

我收到这个错误

“列‘ContractDate’是索引‘PK__Leases2__30F848ED’的分区列。唯一索引的分区列必须是索引键的子集。” (合同日期是其中一栏)


看来解决方法只是在索引列中包含“ContractDate”。分区索引是与表分区一起创建的,并且需要在这些相同的分区内进行分区。这意味着索引需要以首先沿着分区列(ContractDate)排序的方式进行排序。

要添加你的 PK,它会是这样的:

ALTER TABLE Leases2
ADD PRIMARY KEY (ContractDate,LeaseTermID);

我在这里猜测,因为我对sql-server不太熟悉,我必须研究文档。

请注意,对于所有支持分区的数据库实现来说,情况也不尽相同。例如,Oracle 允许您独立于分区方案创建本地索引(在分区内)。

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

唯一索引的分区列必须是索引键错误的子集 的相关文章

  • SSIS Excel 文件问题 - 创建文件失败

    我有 SSIS 包 可以抓取 excel 文件并将其加载到 sql 表中 运行它时出现以下错误 我尝试将 64 位运行设置为 false 那不起作用 我还安装了 64 位访问驱动程序引擎 这也没有帮助 数据流任务 Excel 源 2 出错
  • SQL Server 2008 中的 FREETEXT 查询不进行短语匹配

    我在 SQL Server 2008 中有一个全文索引表 我正在尝试使用 FULLTEXT 查询精确的短语匹配 我不认为使用 CONTAINS 或 LIKE 适合于此 因为在其他情况下查询可能不准确 用户没有用双引号括起短语 并且一般来说我
  • 从 URL 生成报告 - SQL Server Reporting Services 2008

    我有 SQL Server Reporting Services 2008 当我打开以下 URL 时 http localhost Reports Pages Report aspx someReport 我正在进入报告屏幕 在其中填写参数
  • 从另一台计算机连接到 SQL Server

    我正在使用 C 连接到网络上另一台计算机上的 SQL Server 但收到一条异常消息 用户 用户名 登录失败 但是服务器日志状态表明使用 Windows 身份验证的用户连接成功 我的连接字符串是 Data Source ipaddress
  • 无法通过 SQL Server Management Studio 连接到 SQL Server Linux Docker 容器

    我对 Linux 操作系统很陌生 所以希望这不是一个愚蠢的问题 软件 Windows 10 专业版适用于 Windows 的 Docker 1 13 0 beta38 9805 SQL Server Management Studio v1
  • 使用 dtexec 运行 SSIS 包

    我正在使用 dtexec 运行 SSIS 包 该软件包在我的系统上的 BIDS 中运行良好 当我创建 SQL Server 代理作业以按计划运行包时 包运行步骤被安排为 T SQL 任务 而不是 SSIS 包 该作业没有报告错误 但它甚至没
  • sql连接一个表中的两个字段

    我有一个预订表 其中有两个人 我想将 person 1 作为一行返回 将 person 2 作为新行返回 但该人的 id 与人员表相关 这是我所得到的 但没有提取预订信息 SELECT people FROM select booking
  • 使用实体框架创建临时表

    我想使用实体框架在 SQL Server 中创建临时表 我有什么办法可以做到这一点吗 如果我可以创建临时表 我的下一个问题是 如何读取它 提前致谢 Andr 好吧 所以你不喜欢存储过程路线 说实话我也不喜欢 但这是我能想到的最快的方法 基于
  • 在 SQL Profiler 中查找特定 LINQ 查询的巧妙技巧

    由于有时会创建疯狂的 SQL 因此分析 LINQ 查询及其执行计划尤为重要 我经常发现我需要跟踪特定的查询 但很难在查询分析器中找到 我经常在有大量正在运行的事务的数据库 有时是生产服务器 上执行此操作 因此仅打开 Profiler 是没有
  • 自定义 Sql Server 对象资源管理器右键单击菜单项

    如何在 Sql Server 2012 的对象资源管理器中添加或自定义右键菜单项 例如 我想将新项目添加到表右键菜单中以生成自定义表创建器脚本 您可以编写一个 SSMS 加载项 See http sqlblogcasts com blogs
  • INSERT 失败,因为以下 SET 选项设置不正确:“QUOTED_IDENTIFIER”

    在执行存储过程时 我们有时会收到以下消息 之后无需任何更改 删除并重新执行存储过程 它就可以正常工作 DBCORE INSERT 失败 因为以下 SET 选项设置不正确 QUOTED IDENTIFIER 验证 SET 选项是否正确用于索引
  • 用于选择项目/属性列表中具有多个属性的项目的 SQL 语句是什么?

    假设我有一个表 其中列出的项目和属性如下 frog green cat furry frog nice cat 4 legs frog 4 legs 我想从项目列中选择同时具有绿色和 4 条腿属性的唯一对象 在这种情况下 我希望只返回青蛙对
  • 针对 SqlClient 的 getschema("foreignkeys") 未产生足够的信息

    我需要两个表和两组字段 而不是外键名称和其中一个表名称 有谁知道如何查询SQL Server完整的外键信息 谢谢 这可能是一项复杂的冒险 GetSchema 和 INFORMATION SCHEMA 视图不完整 导致需要直接查询 sys 视
  • SQL Server - 即使在回滚的情况下如何确保标识字段正确增加

    在 SQL Server 中 如果涉及插入新行的事务被回滚 则标识字段中的数字将被跳过 例如 如果Foos表是99 然后我们尝试插入一个新的Foo记录但回滚 然后 ID 100 被 用完 下一个Foo行编号为 101 有什么方法可以改变这种
  • 为什么使用参数化查询将数据插入表比将值附加到查询字符串更快?

    为什么使用参数化查询向表中插入数据 string queryString insert into product id name values id name 比将值附加到查询字符串更快 string queryString insert
  • 如何在 BigQuery/SQL 中将行转置为包含大量数据的列?

    我在将 BigQuery 中的大量数据表 15 亿行 从行转置为列时遇到问题 我可以弄清楚如何在硬编码时使用少量数据来完成此操作 但是对于如此大量的数据 该表的快照如下所示 CustomerID Feature Value 1 A123 3
  • Rails 5.2.2(活动记录)WITH 语句

    我正在使用 Rails 5 2 2 并且有一个使用 WITH 语句的复杂查询 我需要使用左外连接创建该语句 我该如何做WITH活动记录中的语句 我的 TOTAL PROFILES 由查询对象驱动 并且会发生变化 而其余部分将始终保持不变 所
  • 将语句插入 SQL Server 数据库

    最近几天我试图找到这个错误 但没有成功 我正在尝试在数据库中插入一个新行 一切都很顺利 没有错误 也没有程序崩溃 My INSERT声明如下 INSERT INTO Polozaj Znesek Uporabnik Cas Kupec Po
  • 将 SQL 变量传递给 ASP

    这里只是有点语法问题 我正在使用 SQL 和 ASP 并且到目前为止有以下代码 set rs Server CreateObject ADODB recordset rs Open Select from Questions conn sq
  • 如何返回调用不同数据库中的存储过程的远程数据库名称?

    我在一个 SQL Server 2008 R2 上有许多不同的数据库 为了便于论证 我们将它们称为 DB A DB B 和 DB C 我被要求开发一个将存在于 DB A 上的存储过程 该存储过程将用于删除和创建索引 并在 DB A 的表中存

随机推荐

  • 使用 Gson 解析时跳过级别

    我有一些 json 格式 如下所示 root user name Name age 99 another obj f1 abc f2 1 result code 0 我创建了一些模型 如下所示 class User private Stri
  • 为什么 Redis 我收到 TypeError: Cannot read properties of undefined (reading 'get') 我的 Redis 已正确初始化?

    我收到此错误 显示 TypeError 无法读取未定义的属性 读取 get 当我点击 API 来测试我的 API 时 出现此错误 我尝试仔细检查我的主机名密码和端口 结果都是正确的使用 Windows 机器并使用 Redis Labs 进行
  • 用 perl 分割线[重复]

    这个问题在这里已经有答案了 可能的重复 用 perl 分割线 https stackoverflow com questions 7386215 split line with perl 我有一句话 regizor Betty Thomas
  • PL/SQL 中受 UPDATE 影响的行数

    我有一个 PL SQL 函数 在 Oracle 10g 上运行 我在其中更新一些行 有没有办法找出有多少行受到更新的影响 手动执行查询时 它会告诉我有多少行受到影响 我想在 PL SQL 中获取该数字 您使用sql rowcount多变的
  • 如何处理 Spark Map() 函数中的异常?

    我想忽略 map 函数中的异常 例如 rdd map toInt 其中 rdd 是RDD String 但如果遇到非数字字符串 则会失败 忽略任何异常并忽略该行的最简单方法是什么 我不想使用过滤器来处理异常 因为可能还有很多其他异常 您可以
  • 如何在 Elasticsearch 中创建嵌套对象并将其添加到嵌套字段中?

    https www elastic co guide en elasticsearch reference current nested html https www elastic co guide en elasticsearch re
  • todo 标签不适用于 eclipse 和 pydev

    我在 fedora 和 pydev 2 2 2 上使用 eclipse 3 7 0 我尝试使用待办事项标签 但它不起作用 窗口 gt 首选项上的待办事项标签看起来不错 我可以在该行旁边使用左键单击添加 请指教 带有 TODO 的注释仅在以下
  • 单击 FAB 上的 Alpha 背景

    I m using the library https github com futuresimple android floating action button https github com futuresimple android
  • C++ 标准中“好像”规则的声明或基础在哪里?

    经过一番谷歌搜索后 例如 site eel is as if rule 我找不到 C 标准中明确规定所谓 好像 规则的适当位置 我所能找到的是 在标准中调用它的那些地方 intro execution给出了参考 But intro exec
  • 如何使用 Flexbox 进行砖石布局

    我想通过 flexbox Child 元素创建砖石布局 Child 元素应按以下顺序出现 并且子元素具有不同的高度和相同的宽度 我正在使用延迟加载 1 2 3 4 5 6 从技术上讲 这是可能的flex flow column wrap 但
  • 为什么 OS X 在复制到 Samba 共享时不像 Windows 那样锁定文件?

    我有一个项目 它使用 net FileSystemWatcher 来观看 Samba 网络共享中的视频文件 当它看到一个文件时 会将其添加到编码队列中 当文件出队时 它们会被移动到本地目录 然后进程将文件编码为几种不同的格式并将它们吐出到输
  • 通过 SPARQL 处理 R XML 的编码问题

    我遇到了 R 的 SPARQL 包的编码问题 我正在运行以下代码 library SPARQL rights query lt PREFIX dc
  • 当用户开始输入时隐藏数据列表选项

    我创建了一个数据列表 显示用户关闭程序时保存的数据 我希望数据列表仅在用户单击下拉箭头 或输入框 时显示 并在用户开始键入时隐藏 我试过了 创建一个oninput事件希望当用户开始输入时数据列表将隐藏 使用隐藏数据列表datalist st
  • 多个登录表单

    我的 Web 应用程序使用 Spring security 进行保护 现在我正在尝试设置两个不同的登录页面 这是我的配置
  • 绘制大圆路径

    我正在尝试绘制一些基于路径 连接的地图 但无法弄清楚如何绘制 我看到基于一点的指标有很多可能性 伦敦的犯罪热点等 使用 googleVis ggmap 等 但我找不到太多基于两点的指标的示例 城市之间的移民 火车路线等 包中有一个示例geo
  • 找不到接受所提供参数的“+”重载

    所以我试图将我用 Objective C 制作的游戏转换为 Swift 我试图让它工作 但它总是给我一个错误 var actualX Double arc4random Double rangeX Double minX 我也尝试过 var
  • 如何在 Doxygen 注释中包含“<”?

    假设我正在使用 DOxygen Visual studio 兼容注释记录成员函数 如何使用小于 例如 如果我这样做
  • 如何在Azure函数的自定义HTTP路由中指定查询参数?

    我有一个 Azure Function 我想设置自定义 HTTP 端点 按照这个SO的答案question https stackoverflow com questions 52748519 how can my http trigger
  • Android Studio 中未显示菜单栏

    我在 macOS Sierra 上使用 Android Studio 应用程序时遇到问题 似乎该应用程序并未真正打开 因为通常 当应用程序打开时 其在扩展坞中的图标下有一个点 但在我的电脑上没有 真正的问题是 文件 构建 等菜单栏选项没有显
  • 唯一索引的分区列必须是索引键错误的子集

    所以我的项目要求我使用分区将名为 Leases 的表分成两个 分区的一侧是早于 2003 年 1 月 15 日的租约 另一侧是比该日期更新的租约 基本上我之前创建了一个名为 Leases 的表 我想为其创建一个分区 我需要创建一个全新的表来