SQL Server分区键列必须是主键一部分。

必须把分区列包含在主键/唯一约束/唯一索引的键列中。

USE tempdb
GO -- 测试表
CREATE TABLE dbo.tb(
id int,
CONSTRAINT PK_id PRIMARY KEY CLUSTERED(
id)
)
INSERT dbo.tb
SELECT 1 UNION ALL
SELECT 10
GO -- 切换为分区表
-- 分区函数
CREATE PARTITION FUNCTION PF_test(int)
AS RANGE LEFT
FOR VALUES(5) -- 分区架构
CREATE PARTITION SCHEME PS_test
AS PARTITION PF_test
ALL TO(
[PRIMARY]) -- 切换到分区表
ALTER TABLE dbo.tb
DROP CONSTRAINT PK_id
WITH(
MOVE TO PS_test(id))

SQL Server分区键列必须是主键一部分的更多相关文章

  1. Sql Server约束的学习一(主键约束、外键约束、唯一约束)

    一.约束的分类 1.实体约束 实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束. 2.域约束 域约束是关于列的,对于所有行,某一列有那些约束,例如检查约束. 3.参照完整性约束 ...

  2. SQL Server数据库表重置自增主键号(通常是指ID)

    执行 DBCC CHECKIDENT ('table_name', NORESEED) 以确定列中的当前最大值 然后使用 DBCC CHECKIDENT ('table_name', RESEED,n ...

  3. SQL server 创建表,索引,主键,外键

    if object_id('student', 'U') is not null drop table student go create table student( sno varchar(20) ...

  4. SQL Server 根据表名取得 表主键

    exec sp_primary_keys_rowset N'表名',NULL

  5. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

  6. sql server 分区(上)

    分区发展历程      基于表的分区功能为简化分区表的创建和维护过程提供了灵活性和更好的性能.追溯到逻辑分区表和手动分区表的功能. 二.为什么要进行分区 为了改善大型表以及具有各种访问模式的表的可伸缩 ...

  7. SQL Server 2014 聚集列存储

    SQL Server 自2012以来引入了列存储的概念,至今2016对列存储的支持已经是非常友好了.由于我这边线上环境主要是2014,所以本文是以2014为基础的SQL Server 的列存储的介绍. ...

  8. 数据库:SQL Server自增长列的编号

    SQL Server表中的自动编号ID重新开始排列 说法一: 有两种方法: 方法1: truncate table 你的表名 --这样不但将数据删除,而且可以重新置位identity属性的字段. 方法 ...

  9. Sql Server 分区演练 【转】

    Sql Server 分区演练 [转] 代码加注释,希望对初学者有用. USE [master]GOif exists (select * from sys.databases where name ...

随机推荐

  1. JavaScript ES2015

    <button>一</button> <button>二</button> <button>三</button> <but ...

  2. HBase 1.3(NOSQL) 发布,性能大幅提升

        Apache HBase 1.3.0版在2017年1月中旬正式发布了,新版本支持分层数据的压缩和多个方面的性能提升,像预写日志(WAL).一个新的RPC机制,等等.HBase 1.3.0一共修 ...

  3. 配置Java的jdk环境变量

    1.classpath E:\Java\jdk1..0_20\jre\lib\rt.jar;.;E:\Tomcat\lib; 2.JAVA_HOME E:\Java\jdk1..0_20; 3.Pat ...

  4. iteritems()

    iteritems() 是列表的一个方法,用法如下: In [1]: dict1 = {"name": "Jeny", "age": 18, ...

  5. android中用studio更改包名

    Android Studio,咱们开发安卓的利器,自推出就受到移动开发者的追捧,但一路走来,大家谈到他,充满了兴奋之情之余,也略显羞涩.随版本自推出以来,不断完善BUG,但咱们还是深深地踩了进去,说多 ...

  6. memset和memcpy函数、atoi函数

    memset void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c.如下: // 1.将已开辟内存空间s的首n个字节 ...

  7. D3D游戏编程系列(四):自己动手编写即时战略游戏之网络同步

    说到网络同步,这真是一个网络游戏的重中之重,一个好的网络同步机制,可以让玩家的用户体验感飙升,至少,我玩过的魔兽争霸在网络同步方面做得非常好,即便是网络状况很不稳定,依然可以保证用户数据不会出现意想不 ...

  8. 使用boch仿真器在x86 PC平台上搭建Linux0.11系统环境(windows下)

    当你有机会来到这页面时   十有八九是遇到这样一个问题    执行配置文件bochsrc_fd.bxrc时出现找不到 ips的情况! 版本原因吧   将boch版本换成2.4的问题就迎刃而解了~ 简单 ...

  9. android基础---->AIDL服务的使用

    AIDL和其他的IDL类似,它允许你定义程序接口,以便客户端与服务器端通过IPC机制交互.在android上面,一个进程一般不能访问另外进程的内存.因此,Android平台将这些跨进程访问的对象分解成 ...

  10. JS-简单地匀速运动框架

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...