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

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

みなさん、こんにちは。

本日は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の作成クエリについてご紹介しました。

ではまた!

本日のAmazonおすすめ_Top10

2024-04-18 18:49:29時点