1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQL Server 事始め

Last updated at Posted at 2020-04-11

はじめに

SQL Serverついて学習したことを形として残しておくために投稿していきます。
まずは 事始め ということでSQL Serverの概要や学習に向けて行った準備などについて書いていこうと思います。

SQL Serverとは

正式名称は Microsoft SQL Server
その名の通り、Microsoftが開発したデータベースです。
SQLを拡張したT-SQL(Transact-SQL)というSQL言語を使うことができます。(もちろん普通のSQLも使用可能です)
※T-SQLについてはまた今度記事にします

学習を始める前に

とにもかくにも環境構築ですね。

SQL Serverのインストール

SQL Server本体です。
以下のサイトからインストーラーをダウンロードし、ローカルPCにインストールします。
https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads
sql_server.png

Edtionについて

SQL Serverには4つのEditionが用意されています。
https://www.microsoft.com/ja-jp/sql-server/sql-server-2017-pricing

  • Enterprise
  • Standard
  • Web
  • Developer
  • Express

この中でDeveloperとExpressは無料ですので、どちらかを使用していきます。
この2つの違いは以下の通りです。

Edition 内容
Developer 有料版と同等の機能を使用可能だが、運用環境上での使用が禁止されている
Express 機能制限があったり容量上限(10G)があったりするが、運用環境でも使用可能

今回は学習のために使用するので Developer を選択しました。

SSMS (SQL Server Management Studio)のインストール

SSMSはSQL Serverのデータベース管理ツールです。
MySQLでいうところのMySQL Workbench
現在ではLinux上でも動作する SQL Server on Linux も存在するため、CUI上でクエリを実行するケースもあると思いますが
あくまで学習用なのでGUIを使っていこうと思います。

以下のサイトからインストーラーをダウンロードし、ローカルPCにインストールします。
https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

SQL Serverの接続設定

インストールが完了したら、先ほどインストールしたSQL Serverとの接続設定を行います。

  1. cmdで「sqllocaldb info」を実行しサーバー名を確認
  2. SSMSの設定でサーバー名に「(localdb)\サーバー名」と入力し接続する(windows認証)

実際の運用ではWindows認証ではなくSQL Sever認証を使用することもあるかと思いますが、学習用なので(ry

2020-04-11_14h44_44.png

これでSQL Serverを使用する準備ができました!

Tips - 自動トランザクション設定

SQL Serverでトランザクションを張るには、必ず自前で張る必要があるそうです。
SSMSの初期設定には「暗黙的にトランザクションを張る」という、いわゆる自動でトランザクションを張る設定があるので、そちらも紹介しておきます。
(自動で張られているのだと思い込んで、 COMMIT しなくてもテーブルに反映されていて焦りました...)

SSMSのメニューから、[Tool] > [Options...] > [Query Excution] > [SQL Server] > [ANSI]の順で下り
[SET IMPLICIT_TRANSACTION]にチェックを入れます。
2020-04-11_14h58_30.png

これでクエリ実行前に自動で BEGIN TRANSACTION が実行されるようになり、テーブル等への反映には COMMIT が必要になります。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?