2

'sa' ユーザーが以下のスクリプトを実行すると、次のエラー メッセージが表示されます。

IF NOT EXISTS (SELECT LOGINNAME FROM MASTER.DBO.SYSLOGINS WHERE NAME = N'p_sys')
BEGIN
    CREATE LOGIN [p_sys] WITH PASSWORD=N'test', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
    ALTER ROLE sysadmin ADD MEMBER p_sys;
END

Msg 15151, Level 16, State 1, Line 4
Cannot alter the role 'sysadmin', because it does not exist or you do not have permission.

sp_addsrvrolemember は使用したくありません。MS が非推奨だと言っているからです。

助けてください。

4

1 に答える 1

9

alter roleはデータベース ロール用ですが、sysadminサーバー ロールです。alter server role代わりに試してください:

ALTER SERVER ROLE server_role_name ADD MEMBER p_sys
于 2013-07-14T15:28:15.017 に答える