アプリの学習用で使うためのデータベースやユーザを作成
勉強用に使う環境を構築してみました。
とりあえず個人で使うための構築です。
管理者と利用者の権限設定は行い、グループに権限を付与しました。
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=無効)
);