SQL Server表分区删除怎样做,有哪些删除实操
Admin 2022-08-05 群英技术资讯 1574 次浏览
这篇文章主要介绍“SQL Server表分区删除怎样做,有哪些删除实操”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL Server表分区删除怎样做,有哪些删除实操”文章能帮助大家解决问题。删除分区又称为合并分区,简单地讲就是将多个分区的数据进行合并。现以表Sales.SalesOrderHeader作为示例,演示如何进行表分区删除。
重要的事情说三遍:备份数据库!备份数据库!备份数据库!
SELECT * FROM SYS.PARTITION_FUNCTIONS --分区函数 SELECT * FROM SYS.PARTITION_RANGE_VALUES --分区方案

SELECT $PARTITION.SalesOrderHeader_OrderDate(OrderDate) AS NUMBER,COUNT(1) AS COUNT FROM [Sales].[SalesOrderHeader] GROUP BY $PARTITION.SalesOrderHeader_OrderDate(OrderDate)
分区表中有数据时,是不能够删除分区方案和分区函数的,只能将数据先移到其它表中,再删除。
ALTER PARTITION FUNCTION SalesOrderHeader_OrderDate() MERGE RANGE('2011-01-01 00:00:00.000')
ALTER PARTITION FUNCTION SalesOrderHeader_OrderDate() MERGE RANGE('2012-01-01 00:00:00.000')
ALTER PARTITION FUNCTION SalesOrderHeader_OrderDate() MERGE RANGE('2013-01-01 00:00:00.000')
ALTER PARTITION FUNCTION SalesOrderHeader_OrderDate() MERGE RANGE('2014-01-01 00:00:00.000')
ALTER TABLE [Sales].[SalesOrderHeader] ADD CONSTRAINT [PK_SalesOrderHeader_SalesOrderID] PRIMARY KEY NONCLUSTERED
(
[SalesOrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
ALTER TABLE [Sales].[SalesOrderHeader] DROP CONSTRAINT [PK_SalesOrderHeader_SalesOrderID]
CREATE TABLE [Sales].[SalesOrderHeader_Temp](
[SalesOrderID] [INT] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[RevisionNumber] [TINYINT] NOT NULL,
[OrderDate] [DATETIME] NOT NULL,
[DueDate] [DATETIME] NOT NULL,
[ShipDate] [DATETIME] NULL,
[Status] [TINYINT] NOT NULL,
[OnlineOrderFlag] [dbo].[Flag] NOT NULL,
[SalesOrderNumber] AS (ISNULL(N'SO'+CONVERT([NVARCHAR](23),[SalesOrderID]),N'*** ERROR ***')),
[PurchaseOrderNumber] [dbo].[OrderNumber] NULL,
[AccountNumber] [dbo].[AccountNumber] NULL,
[CustomerID] [INT] NOT NULL,
[SalesPersonID] [INT] NULL,
[TerritoryID] [INT] NULL,
[BillToAddressID] [INT] NOT NULL,
[ShipToAddressID] [INT] NOT NULL,
[ShipMethodID] [INT] NOT NULL,
[CreditCardID] [INT] NULL,
[CreditCardApprovalCode] [VARCHAR](15) NULL,
[CurrencyRateID] [INT] NULL,
[SubTotal] [MONEY] NOT NULL,
[TaxAmt] [MONEY] NOT NULL,
[Freight] [MONEY] NOT NULL,
[TotalDue] AS (ISNULL(([SubTotal]+[TaxAmt])+[Freight],(0))),
[Comment] [NVARCHAR](128) NULL,
[rowguid] [UNIQUEIDENTIFIER] ROWGUIDCOL NOT NULL,
[ModifiedDate] [DATETIME] NOT NULL
)
1)对着原表Sales.SalesOrderHeader点击"右键"->"设计"。

2)点击菜单栏"视图"->"属性窗口"。

3)将数据空间类型更改为"文件组",常规数据空间规范默认为"PRIMARY"。

ALTER TABLE [Sales].[SalesOrderHeader] SWITCH PARTITION 1 TO [Sales].[SalesOrderHeader_Temp] PARTITION 1
ALTER TABLE [Sales].[SalesOrderHeader_Temp] ADD CONSTRAINT [PK_SalesOrderHeader_SalesOrderID] PRIMARY KEY NONCLUSTERED
(
[SalesOrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
DROP TABLE Sales.SalesOrderHeader
DROP PARTITION SCHEME SalesOrderHeader_OrderDate DROP PARTITION FUNCTION SalesOrderHeader_OrderDate
EXEC SP_RENAME '[Sales].[SalesOrderHeader_Temp]','SalesOrderHeader'
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
对sql语句优化是很有必要的,要知道数据库性能不理想,与SQL语句有很大关系,尤其是复杂的语句我们需要简化。下面小编就给大家介绍sql语句优化怎么做以及sql语句编写哪些问题需要注意。
由于项目起初用的是sqlserver数据库,后来改用了mysql数据库,那么如何把sqlserver迁移mysql呢?对sqlserver数据库迁移感兴趣的朋友可以参考下本篇文章
SQL 拥有很多可用于计数和计算的内建函数。SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
本篇文章详细讲解了SQL Server的主键约束、唯一约束和外键约束这一块。图文并茂,方便大家理解与学习。有兴趣的朋友可以看下
SQL 克隆数据表 有些情况下,你可能需要原样拷贝某张数据表。但是,CREATE TABLE 却不能满足你的需要,因为复制表必须和原表拥有一样的索引、默认值等等。 如果你在使用 MySQL 关系型数据库管理系统的话,下面几个步骤可以帮你解决这个问题: 使用 SHOW CREATE TABLE 命令来获取一条指定了原表的结构、索引等信息的 CREATE TABLE 语句。 将语句中的表名修改为克隆表的名字,然后执行该语句。这样你就可以得到一张与原表完全相同的克隆表了。 如果你还想要复制表中的数据的话_来自SQL 教程,w3cschool编程狮。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008