SQL Server 命令为某个数据库创建用户(有答案给20分)

哎哟,听到你提到的这些SQL语句,我刚学SQL的时候就一头雾水。
但我会告诉你我已经克服的陷阱,以确保这是实用的。

那是2 01 8 年,我在一家小公司做数据库维护。
他们的老板坚持允许我使用 sp_addlogin 添加一个带有直通密码的新 appuser 用户。
他还坚持将其保存在默认数据库中。
我当时很困惑,因为微软不再推荐使用sp_addlogin。
长期以来一直建议使用 CREATE LOGIN。
最后我还是用老方法去做,后来还因为这个原因被老板打了一顿。

看来,使用数据库名称这一步非常关键。
我有一次忘记了这一步,直接授予权限。
结果,权限没有任何作用。
我急得满头大汗,在服务器上花了很多时间。
最终我发现我忘记切换数据库了。

还有一次,当我授权用户时,我忘记添加ON表名。
结果,用户没有权限,系统警告找不到该对象。
想想看,如果一个用户搭建了却不能使用,老板还不能骂他吗?所以记住,GRANT后面一定要跟具体的表名。

让我举个例子。
例如,如果你想给用户appuser选择和更新测试表的权限,你可以这样写:
sql 使用应用程序数据库 授予选择权,更新测试到 appuser 去
永远不要写:
sql 使用应用程序数据库 授予选择,更新到 appuser 去
后一种写法是错误的,会报错说找不到测试表。
然后我犯了这个愚蠢的错误,导致整个公司的数据库瘫痪。
最后我请隔壁公司的人帮我修好了。

所以在处理权限的时候,一定要一步一步来。
首先登录,然后更改数据库,最后授予权限。
不要想着一步到位,因为这样很可能会出现问题。

如果还有不懂的可以问我。
这个话题我不敢乱说,但是我踩过的陷阱肯定足够参考一段时间了。

ORACLE授权用户查询另一个用户下的表与视图

哦,是的,这就是 ORACLE。
授权用户可以查看另一个用户表。
你必须这样做。

首先,用户必须能够连接到数据库。
仅授予 CRATESESSION 权限。
否则,如果你连登录都无法登录,那一切都是白费。

那么你想能够检查所有用户表吗?然后给我 SELECTANYTABLE。
但这东西很危险,所以不要使用。
如果出现问题,就会出现问题。

如果不使用 SELECTANYTABLE,则必须一次分配一个表。
您必须使用指定的用户号码登录。

例如,用户A有一个表,你想让用户B检查它。
您必须以用户 A 身份登录。

然后键入以下命令:
SELECT ON A.GRANT ON tablename TO B;
这是格式,A 是表的所有者,B 是要授予权限的用户。

如果用户A有多张表,一一处理会太慢。
您可以创建自动生成的订单。

只需使用这个:
选择“A 上的帮助选项”。
||图表名称 || '致B;' 来自用户表 WHERE table_owner = 'A';
你看,它自己生成了很多GRANT SELECT命令。
复制这些命令并一一运行。
视图也是如此。
只需使用这个:
“选择 A 上的礼物。
” ||视图名称 || '致B;' 来自用户视图 WHERE view_owner = 'A';
这允许所有视图。

请注意,在开始工作之前,您必须使用授权用户登录。
否则,您甚至无法输入命令。

小心许可。
如果权限太多或者权限错误的话,你就会遇到大麻烦。

要撤销授权,请使用 REVOKE。

在sql中怎么为数据库角色设置权限呢

这个东西涉及到对数据库中的人进行授权,比如允许他们插入数据、修改数据等。
简单来说就是:
给表赋予插入权限:GRANT INSERT ON film TO PUBLIC; 授予用户所有权限:GRANT ALL PRIVILEGES ON TYPES TO manual;
如果超级用户或表所有者执行此操作,则他将权限授予每个人。
当其他人这样做时,他们会提供权限选项。
要取回它,请使用撤销!