程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER將一個文件組的數據移動到另一個文件組

SQL SERVER將一個文件組的數據移動到另一個文件組

編輯:關於SqlServer

有經驗的大俠可以直接忽視這篇文章~

這個問題有經驗的人都知道怎麽做,因為我們公司的數據量不大沒有這個需求,也不知道怎麽做實驗

今天求助了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]

上面的腳本雖然簡單,但是隱藏了非常多的知識點

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved