edd*_*cat 15 security sql-server t-sql ddl logins
我正在编写一个程序,需要我分配所有权限和代码中的所有内容。我被困在这部分:

我只想为 msdb 数据库单击“映射”下的小框并将该用户分配给 SqlAgentUser 角色。我需要一个能够添加/编辑 SQL Server 代理作业的用户。我可以使用 SSMS 获得正确的设置,但我一生都无法弄清楚如何在原始 SQL 中进行设置。
我已经查看了ALTER LOGIN,但没有看到任何可以满足我需要的东西。我怀疑我只是不知道 Google 的正确术语。我一般不会做这种事。
任何帮助深表感谢!
Aar*_*and 20
USE msdb;
GO
CREATE USER shims FROM LOGIN shims;
GO
ALTER ROLE SqlAgentUserRole ADD MEMBER shims;
GO
Run Code Online (Sandbox Code Playgroud)
此外,为了将来参考,任何时候您知道如何在 UI 中而不是在脚本中执行某些操作时,这就是Script大多数对话框中的选项的用途 - 它会向您显示 SSMS 将执行的脚本:
如果要将当前\默认数据库更改为不同的数据库,请尝试:
alter login <loginname> with default_database = <dbname>;
Run Code Online (Sandbox Code Playgroud)
现在,为上面创建的登录创建一个用户
use <dbname>;
create user <username> from login <loginname>;
Run Code Online (Sandbox Code Playgroud)
现在您可以为上述创建用户分配角色以进行登录,如下所示:
use <dbname>
exec sp_addrolemember 'db_owner', '<username>';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51138 次 |
| 最近记录: |