SQLサーバ:データベース作成のクエリ(T-SQL)
- 2021.01.28
- データベース

みなさん、こんにちは。
本日はSQLサーバのデータベース作成について紹介します。
私自身よく利用するクエリですので備忘録程度です。
SQLサーバのデータベース作成クエリ
クエリは以下の通りです。
・DB名とPath名は変数です。適宜変更してください。
・mdf及びldfは同じファイルパス下に保管する前提です。
USE master
GO
DECLARE @DB_name NVARCHAR(100);
;
DECLARE @Path NVARCHAR(250)
SET @DB_name ='TEST_DB';
SET @Path = 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA'
EXEC(
'CREATE DATABASE '+ @DB_name +' ON(
NAME='''+ @DB_name+'_Data'',
FILENAME=''' + @Path + '\'+ @DB_name + '_Data.MDF'',
SIZE= 10,
MAXSIZE= UNLIMITED,
FILEGROWTH= 10% )
LOG ON(
NAME='''+ @DB_name+'_Log'',
FILENAME='''+ @Path +'\' + @DB_name + '_Log.LDF'',
SIZE= 1,
MAXSIZE= UNLIMITED,
FILEGROWTH= 10% );'
);
簡単な解説
①NAMEとFILENAME
NAMEは論理名、FILENAMEは物理名です。

②SIZE
初期のファイルサイズです。

③FILEGROWTHとMIXSIZE
FILEGROWTHは自動拡張の比率です。
10%ならば10%単位、10MBならば10MB単位となります。
MAXSIZEは最大サイズです。
mdbファイルは無制限、ldbファイルは2,097,152MB≒2TBが最大サイズ(UNLIMITED)となります。

④EXEC関数とインクリメント
EXEC関数は EXEC(‘文字列’) と表記します。
文字列中にカンマが必要な場合は、”(カンマを2つ続ける)のように記載します。(インクリメント)
例)EXEC( ‘NAME=”TEST_DB_Log”, SIZE= 1’ )
また、文字列の結合は +(プラス)を記載します。
例)EXEC( ‘NAME’ + ‘=”TEST_DB_Log”, SIZE= 1’ )
さらに、文字列の間に変数を挟み、それを文字列として識別したい場合は、”’(カンマを3つ続ける)のように記載します。
例)EXEC( ‘NAME=”’+ @DB_name+’_Log”’ )
もし@DA_nameにTEST_DBが入ったとすれば
NAME=’TEST_DB_Log’ となる。
まとめ
本日はSQLサーバのDBの作成クエリについてご紹介しました。
ではまた!
エラー: データの取得に失敗しました。
-
前の記事
記事がありません
-
次の記事
タスクスケジューラでデータベースをバックアップする方法 ~Microsoft SQL Server 編~ 2021.02.18