ITPub博客

首页 > 数据库 > SQL Server > 分区实战

分区实战

原创 SQL Server 作者:o0yuki0o 时间:2017-01-20 16:19:06 0 删除 编辑

点击(此处)折叠或打开

  1. USE [master]
  2. RESTORE DATABASE [news_par] FROM DISK = N'F:\SQLBak\news40.bak' WITH FILE = 1,
  3. MOVE N'news' TO N'F:\SQLData\news_par.mdf', MOVE N'news_log' TO N'F:\SQLLog\news_par_log.ldf', NOUNLOAD, REPLACE, STATS = 5

  4. GO

  5. use news_par
  6. go

  7. news_par.dbo.sp_maintain_partion 'news_par','2013-01-01'



  8. declare @dd datetime,
  9. @dbname varchar(100) --需要分区的库名
  10. set @dbname='news_par'
  11. set @dd='2013-01-01'
  12. set @dd=DATEADD(mm, DATEDIFF(mm,0,@dd), 0) --取当月第一天
  13. while @dd<=DATEADD(mm, DATEDIFF(mm,0,getdate())+1, 0)
  14. begin
  15. --print @dd
  16. exec sp_maintain_partion @dbname,@dd
  17. --print ('[DYDB].[dbo].[sp_maintain_partion]'+''''+'DYDB'+''''+','+ ''''+CONVERT(varchar(10),DATEADD(mm, DATEDIFF(mm,0,@dd), 0), 23 )+'''')
  18. set @dd=DATEADD(mm, DATEDIFF(mm,0,@dd)+1, 0)
  19. end


  20. select * into news_industry_par from news_industry

  21. select distinct create_time from news_industry where create_time>='2017/1/1 0:00:00'
  22. select count (1), $partition.pf_time(create_time) from news_industry group by $partition.pf_time(create_time)
  23. select distinct create_time from news_industry where $partition.pf_time(create_time)=$partition.pf_time( '2017/1/1 0:00:00')

点击(此处)折叠或打开

  1. select distinct create_time from news_industry where create_time>='2017/1/1 0:00:00'
  2. select count (1), $partition.pf_time(create_time) from news_industry group by $partition.pf_time(create_time)
  3. select distinct create_time from news_industry where $partition.pf_time(create_time)=$partition.pf_time( '2017/1/1 0:00:00')


点击(此处)折叠或打开

  1. USE [news_par]
  2. GO
  3. BEGIN TRANSACTION
  4. ALTER TABLE [dbo].[news_industry_par] DROP CONSTRAINT [PK__news_ind__3214EC2707C4AFD4]


  5. ALTER TABLE [dbo].[news_industry_par] ADD PRIMARY KEY NONCLUSTERED
  6. (
  7.     [ID] ASC
  8. )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]


  9. CREATE CLUSTERED INDEX [ClusteredIndex_on_ps_Time_636205266173245553] ON [dbo].[news_industry_par]
  10. (
  11.     [CREATE_TIME]
  12. )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [ps_Time]([CREATE_TIME])


  13. DROP INDEX [ClusteredIndex_on_ps_Time_636205266173245553] ON [dbo].[news_industry_par]




  14. COMMIT TRANSACTION



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16131092/viewspace-2132747/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-02-26

  • 博文量
    90
  • 访问量
    75886