0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQL Serverでお試し用データベースやユーザを作成する

Last updated at Posted at 2025-05-16

アプリの学習用で使うためのデータベースやユーザを作成

勉強用に使う環境を構築してみました。
とりあえず個人で使うための構築です。

管理者と利用者の権限設定は行い、グループに権限を付与しました。

saユーザを有効にする

強い権限の付与が必要であり、saユーザを使用しました。
SQL Server 2019でsaアカウントを有効化する方法

データベース作成や権限設定

-- 1. データベースの作成
CREATE DATABASE SampleDataBase;
GO
--  2. スキーマの作成
USE SampleDataBase;
GO
CREATE SCHEMA Sample;
GO
--  3. ユーザーグループ(ロール)の作成
CREATE ROLE AdminGroup;
GO
CREATE ROLE UserGroup;
GO
--  4. ユーザーの作成
CREATE LOGIN AdminUser WITH PASSWORD = 'SecureAdminPass';
CREATE USER AdminUser FOR LOGIN AdminUser;
ALTER ROLE AdminGroup ADD MEMBER AdminUser;
GO

CREATE LOGIN NormalUser WITH PASSWORD = 'SecureUserPass';
CREATE USER NormalUser FOR LOGIN NormalUser;
ALTER ROLE UserGroup ADD MEMBER NormalUser;
GO
--  5. 権限の設定
--管理者にdb_owner権限を付与する
USE SampleDataBase;
GO
ALTER ROLE db_owner ADD MEMBER AdminGroup;
GO

GRANT SELECT, INSERT, UPDATE ON SCHEMA::Sample TO UserGroup;  -- 利用者に基本権限
GO
GRANT DELETE ON SCHEMA::Sample TO UserGroup;  -- 利用者にレコード削除権限を別途追加

参考 テーブルの作成

管理者用ユーザ(AdminUser)でテーブルの作成が出来ることを確認しました。
権限設定が上手くいっていそうかの簡易確認をするためです。

USE SampleDataBase;
GO

CREATE TABLE Sample.TBLSample (
    ID INT PRIMARY KEY IDENTITY(1,1),  -- 自動採番の主キー
    Name NVARCHAR(100) NOT NULL,       -- 名前(100文字まで)
    CreatedAt DATETIME DEFAULT GETDATE(), -- 作成日時(デフォルト現在時刻)
    IsActive BIT DEFAULT 1             -- 有効フラグ(1=有効, 0=無効)
);
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?