スクリプトを使用してSQL Serverにデータベースを作成する方法


SQL Serverデータベースは手動で作成できますが、スクリプトデータベースのセットアップ方法を知ることは貴重です。ここでは、データベース作成スクリプトの実行に必要な手順を示します。

SQL Serverデータベースは手動で作成することもできますが、スクリプトによるデータベース作成を実行して、プロセスをより簡単に反復可能にすることも可能です。実際、少なくとも一部のMicrosoftサーバ製品では、セットアッププロセスの一環としてこの背後にあるこの技術を使用しています。

MicrosoftのPowerShellスクリプト言語とエンジンを使わなくても、SQL Serverのデータベーススクリプトを作成するのは本当に簡単です。以下の図1に、メモ帳で作成されたSQL Serverデータベースを作成するためのサンプルスクリプトを示します。

3つのコード行のうちの最初の行は、現在作成しているデータベースが現在存在するかどうかを調べます。この場合、スクリプトはmasterデータベースの下にDemoという名前にデータベースを作成します。また、分かりやすく簡単なこともありません。

最後のコード行は、これが命令ブロックの終わりであり、スクリプトを実行してデータベースを作成すべきことをSQLに伝えます。イメージを見ると、スクリプトのファイル名には.SQLがスクリプトを認識するために必要です。

Database named Demo

図1. このスクリプトは、Demoという名前のデータベースを作成します。

SQL Serverデータベース作成スクリプトを使用するには、SQL Server Management Studio(SSMS)を開く必要があります。この記事では、メインインストールルーチンにSSMSを含まないSQL Server 2016を使用しています。その結果、MicrosoftのWebサイトからSSMSを個別にダウンロードする必要があります。

Database within SSMS

図2. SSMS内にデータベース作成スクリプトが表示されます。

さらに、新しいファイル行がツールバーのOpen Fileアイコンの下に追加されます。図2のように、ツールバーのドロップダウンメニューがMasterに設定されていることを確認します。これは、データベース作成スクリプトがmasterデータベースに対して実行されることを示します。ここで、Executeボタンをクリックしてスクリプトを実行します。

実行が完了すると、スクリプトが正常に実行されたことを示す図3の下部にあるようなメッセージが表示されます。また、コンソールツリーに新しいデータベースが表示されていることも確認して下さい。このスクリプトは、Demoという名前のデータベースを作成するように設計されており、新しく作成されたDemoデータベースイメージ内に表示されることを覚えておいてください。

Creating Demo database

図3. デモデータベースが作成されました。

ここで、作成したばかりのデータベース内にテーブルの作成をスクリプト化する方法を見てみましょう。以下の図4に、使用できるサンプルコードを示します。

コードはMyTableという名前のテーブルの存在を確認することから始まります。テーブルがまだ存在しない場合は作成されます。新しいテーブルには、Idという名前の主キーと、別の名前と値の列の3つの列が含まれます。列の定義はスクリプト内でコンマで区切られています。

MyTable database

図4. このスクリプトは、MyTableという名前のデータベーステーブルを作成します。

私たちは、データベース作成スクリプトと同じテクニックを使用してスクリプトを実行できますが、主な違いが1つあります。ドロップダウンメニューからマスターを選択する代わりに、デモを選択してでもデータベース内にテーブルを作成する必要があります。これは図5のようになります。

Script against Demo

図5. このスクリプトはデモデータベースに対して実行されています。

スクリプトが実行されると、新しいテーブルが作成されます。新しいテーブルが表示される前に、データベースを右クリックし、Refreshコマンドを選択してデータベースを更新する必要があります。図6は、新しい表とその列を示しています。

New database table

図6. スクリプトは、3つの列を持つ新しいデータベーステーブルを作成しました。

すべての正直なところ、データベースとそのテーブルを手動で作成するほうが早いでしょう。ただし、SQL Serverデータベース作成スクリプトを使用してテーブル1を作成することにより、データベースとテーブルの新しいバージョンを、必要に応じて、一貫した方法で追加することが可能になりました。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください