加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL SERVER将一个文件组的数据移动到另一个文件组

发布时间:2016-08-12 09:35:08 所属栏目:MsSql教程 来源:站长网
导读:有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里的菠萝大侠
有经验的大侠可以直接忽视这篇文章~

这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验

今天求助了QQ群里的菠萝大侠,终于知道怎麽做了

我自己会把不明白的问题一定会问到底的,之前在论坛问过这个弱弱的问题,但是由于太弱了,人家随便答复了一下

然后斑竹就标记为答案了~

移动数据:

1、有表分区

2、没有表分区

我这里只讨论没有表分区的情况,表分区的情况还不是很明白

例子

比如:你有三个文件组,其中一个是主文件组

测试脚本:

USE master   
GO   
       
       
IF EXISTS(SELECT * FROM sys.[databases] WHERE [database_id]=DB_ID('Test'))   
DROP DATABASE [Test]   
       
--1.创建数据库   
CREATE DATABASE [Test]   
GO   
       
USE [Test]   
GO   
       
       
--2.创建文件组   
ALTER DATABASE [Test]   
ADD FILEGROUP [FG_Test_Id_01]   
       
ALTER DATABASE [Test]   
ADD FILEGROUP [FG_Test_Id_02]   
       
       
       
--3.创建文件   
ALTER DATABASE [Test]   
ADD FILE   
(NAME = N'FG_TestUnique_Id_01_data',FILENAME = N'E:FG_TestUnique_Id_01_data.ndf',SIZE = 1MB, FILEGROWTH 

= 1MB )   
TO FILEGROUP [FG_Test_Id_01];   
       
ALTER DATABASE [Test]   
ADD FILE   
(NAME = N'FG_TestUnique_Id_02_data',FILENAME = N'E:FG_TestUnique_Id_02_data.ndf',SIZE = 1MB, FILEGROWTH 

= 1MB )   
TO FILEGROUP [FG_Test_Id_02];   
       
       
--4.创建表,这个表的数据存放在[FG_Test_Id_01] 文件组上   
CREATE TABLE aa(id INT ,cname NVARCHAR(4000)) ON [FG_Test_Id_01]    
GO   
       
       
--5.插入数据   
INSERT INTO [dbo].[aa]   
SELECT 1,REPLICATE('s',3000)   
GO 500   
       
       
--6.查询数据   
SELECT * FROM [dbo].[aa]   
       
       
--7.创建聚集索引在[FG_Test_Id_02]文件组上   
CREATE CLUSTERED INDEX PK_ID ON [dbo].[aa]([id]) WITH(ONLINE=ON) ON [FG_Test_Id_02]   
GO   
       
       
--8.我们查看一下文件组的逻辑文件名   
EXEC [sys].[sp_helpdb] @dbname = TEST -- sysname   
       
       
       
--9.收缩一下FG_Test_Id_01文件组文件   
DBCC SHRINKFILE(FG_TestUnique_Id_01_data,1)   
       
       
--10.你可以选择drop掉聚集索引,也可以选择不drop掉聚集索引   
DROP INDEX PK_ID ON [dbo].[aa]   
       
USE master   
GO   
DROP DATABASE [Test]

上面的脚本虽然简单,但是隐藏了非常多的知识点

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读