sqlserver2012如何创建用户

sql server创建只读账号

这些是创建只读帐户的步骤。

打开短信并以管理员身份登录。

创建新的登录名并选择 SQL 身份验证。

创建用户映射,选择数据库并添加 db_data 读取器角色。

默认架构选择db_data读取器。

单击“确定”保存。

您想允许查看存储过程吗?登录数据库并运行。

重启数据库服务并记得开启SQL Agent。

序列号已设置,只能读取,不能更改。

sqlserver数据库用户权限设置

上周有客户问我SQL Server权限设置的问题,搞得我头晕……你问的确实是核心,但实际操作起来却有很多坑。

关于登录权限,我特别记得2 02 3 年我在上海某商场做系统的时候,直接使用了CREATE LOGIN [new_login]WITH PASSWORD='your_password'; 创建登录名。
这是最基本的,但是有个哥们因为这个密码太简单而被攻击了,每天加班补补丁。

授权服务器角色时要多加注意。
有一次我在深圳测试环境,使用了ALTER SERVER ROLE [sysadmin] ADD MEMBER [new_login]; 增加常用运维功能。
结果他误删了库,把我骂得血淋淋的。
所以现在我们尝试使用最小权限的原则,比如只将其添加到db_datareader的只读角色中。

在数据库用户创建方面,曾经有同事使用CREATE USER [new_user] FOR LOGIN [new_login]; 然后忘记向该用户添加任何权限,导致应用程序甚至无法打开表。
现在我们都创建一个用户并立即 ALTER ROLE [db_datareader] ADD MEMBER [new_user]; 首先给予基本权限。

对象权限设置是最容易出错的地方。
我记得2 02 2 年我在北京做一个项目的时候,有一个表叫order_table。
我写了 GRANT SELECT, INSERT, UPDATE ON [dbo].[order_table] TO [new_user]; 但忘记添加DELETE权限,导致用户无法删除订单,业务方投诉。
后来,我们制作了一个权限列表,并在创建后对照每个表进行检查。

我建议在拒绝权限时谨慎使用它。
有一次我使用 DENY DELETE ON [dbo].[order_table] TO [new_user]; 以防止意外删除。
结果业务部门想要迁移数据却无法删除。
最后,我不得不去旅行。
现在我们都使用REVOKE+GRANT比较灵活,比如REVOKE ALL ON [dbo].[order_table] FROM [new_user]; 然后根据需要授予权限。

总之,你可以想办法……权限设置文件我还在抽屉里呢。
如果我不小心犯了错误……你会理解的。