2つの認証モード
名称 | 説明 | 備考 |
---|---|---|
Windows認証 | OSにログオンしているユーザーで認証。WindowsはActive Directory(AD)で管理されるのでADユーザーを使用する認証モード。OSにログインしている時点で認証済みとみなされるため、SQL Serverでのユーザー名、パスワードの入力が省略される。 | AD環境があればWindows認証 |
SQL Server認証 | SQL Server認証はユーザー・パスワードを入力して認証する旧式の認証モード | AD環境がなければSQL Server認証 |
https://sql-oracle.com/sqlserver/?p=133 |
SQLServer接続方法
サーバー名に入力できるパターンと例 一覧
サーバー名 | 例 |
---|---|
IPアドレス | 192.168.0.xx |
IPアドレス,ポート | 192.168.0.xx,1433 |
IPアドレス,ポート\インスタンスのサービス名 ※ | 192.168.0.xx,1433\SQLEXPRESSxx |
サーバー名(PC名) ※ | DESKTOP-XXXXX |
サーバー名(PC名),ポート | DESKTOP-XXXXX,1433 |
サーバー名(PC名),ポート\インスタンスのサービス名 | DESKTOP-XXXXX,1433\SQLEXPRESSxx |
※インスタンスのサービス名 調査方法
※サービスとはUNIX系でいうところのデーモンにあたる。
SSMSで[SELECT @@SERVICENAME;]→実行結果がインスタンスのサービス名
※サーバー名(PC名) 前提知識と調査方法
【前提知識】サーバー名(PC名)はSQLServer独自の用語ではなく、PCのセットアップ時に設定される名前であり、次のように ping DESKTOP-XXXXX は名前解決されて ping 192.168.0.xx などと同じように疎通テストができる。
【調査方法】以下のようにSSMSを使用して調査する方法Aと使用せずに調査する方法B等がある。
A. SSMSで[ SELECT @@SERVERNAME; ]→ 名前付きインスタンス※の場合は DESKTOP-XXXXXX\SQLEXPRESSxx のように表示され「 DESKTOP-XXXXXX」がPC名
B. Windowsキーワード検索で[システムの詳細設定の表示]>[コンピュータ名]タブの[フル コンピューター名:]ここに記載
※インスタンスには①規定インスタンスと②名前付きインスタンスの2種類が存在する。
DB作成
Microsoft SQL Server Management Studio
オプション collation例:Japanese_XJIS_140_CS_AS_KS_WS_VSS
CREATE TABLE
DROP TABLE IF EXISTS sample_tb;
CREATE TABLE sample_tb(
id INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
name CHAR(20),
gender CHAR(5),
age INT,
birthday DATE,
flag BIT DEFAULT(1)
);
項目 | 説明 | 備考 |
---|---|---|
IDENTITY(1,1) | オートインクリメント | |
CHAR | 固定長(=自動blank補完) ・char[n] ・nchar[n] |
可変長 ・varchar[n] ・nvarchar[n] |
BIT | bool型 | 1:true 0:false |
DEFAULT() | カッコ内:デフォルト値 | |
DATE | 日付型 YYYY-MM-DD |
その他 ・DATETIME ・DATETIME2 参考: https://sql-oracle.com/sqlserver/?p=627 |
エクセルからデータを投入
- DBで右クリック「上位200行の編集」をクリック
- 表示される表の最終行を右クリックし、「貼り付け」
うまくいかないとき
select *
from sample_tb;
症状 | 解決方法 | 備考 |
---|---|---|
存在するテーブルに対して赤い波線(エラー警告) Invalid object name | ローカル キャッシュを更新する Ctrl + Shift + R |
https://teratail.com/questions/255505 |