-- 创建应用程序用户和权限配置

-- 创建应用程序用户
IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = 'appuser')
BEGIN
    CREATE LOGIN appuser WITH PASSWORD = 'AppUser@Password123!';
    PRINT '登录用户 appuser 创建成功';
END
ELSE
BEGIN
    PRINT '登录用户 appuser 已存在';
END
GO

-- 在 SampleDB 数据库中创建用户
USE SampleDB;
GO

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'appuser')
BEGIN
    CREATE USER appuser FOR LOGIN appuser;
    PRINT '数据库用户 appuser 创建成功';
END
ELSE
BEGIN
    PRINT '数据库用户 appuser 已存在';
END
GO

-- 授予权限
-- 授予对 Users 表的读写权限
GRANT SELECT, INSERT, UPDATE, DELETE ON Users TO appuser;
PRINT '授予 Users 表权限成功';

-- 授予执行存储过程的权限
GRANT EXECUTE ON GetActiveUsers TO appuser;
PRINT '授予存储过程执行权限成功';

-- 授予创建表的权限（如果需要）
GRANT CREATE TABLE TO appuser;
PRINT '授予创建表权限成功';

PRINT '用户权限配置完成！';
