【SQL Server】既存のテーブルのファイルグループを変更する

【SQL Server】既存のテーブルのファイルグループを変更する

はじめに

コジマです。

タイトルにこう書いちゃいましたが、
既存のテーブルに対してファイルグループを変更することはできません。

ALTER TABLEとかではできないんですね。

一度テーブルをDROPしてからCREATEし直す必要があります。
私が作ったSQLのメモです。参考にしてください

-- ファイルグループを追加
ALTER DATABASE [DB名] ADD FILEGROUP [ファイルグループ名]
;
-- ファイルを追加
ALTER DATABASE [DB名]
ADD FILE
(
  NAME= 'ファイル名',
  FILENAME = 'パス\ファイル名.ndf'
)
TO FILEGROUP [ファイルグループ名]
;

-- バックアップ
SELECT * INTO バックアップテーブル FROM 差し替えたいテーブル;
-- ドロップ
DROP TABLE 差し替えたいテーブル;
-- 再作成
CREATE TABLE 差し替えたいテーブル(
    差し替えたいテーブルのカラム
) ON [ファイルグループ名]
-- データを戻す
INSERT INTO 差し替えたいテーブル SELECT * FROM バックアップテーブル;
-- バックアップ削除
DROP TABLE バックアップテーブル;

私はこれでできました。

さいごに

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

もっと学びたい人はこちら

SQLをもっと学びたいエンジニアのためにおすすめのUdemy講座を紹介いたします!

SQLはじめましての人!まずあなたの3時間をください。
この講座でまずこれだけは覚えてくれ!という内容をしっかり押さえることができます。
SQLはプログラミング言語がなんであれ、システム開発に必要になります。
この講座を見て最低限必要な知識を身に着けて実践で貢献できるようになりましょう!
3時間で学ぶ SQL ・データベース 超入門【丁寧な解説+演習問題で SQL データ抽出の基本が身につく】標準 SQL

データベースの設計について学べる講座です。
設計について学べる教材は少ないので、実務でデータベースを触る人にはとてもうれしい講座です。
データベース講座1:データベース論理設計

ちょっとニッチに感じるかもしれませんが、SQLのインデックスを学ぶことができる講座です。
よい性能でSQLを運用するためにはインデックスの理解は必要不可欠です。
CRUD書いて満足するエンジニアを出し抜きましょう。
SQLServerのインデックスを理解して検索を速くする方法

気になった人はぜひ見てみてくださいね!

以上、コジマでした。


SQLカテゴリの最新記事