0
は私がログインとパスワードを作成し、ここではそれをシステム管理者権限を与えるために使用し、このスクリプトを使用してストアドプロシージャのパラメータを連結することは私のスクリプトコンパイラはこのエラーをスローを連結ストアドプロシージャのパラメータが
ALTER PROCEDURE [dbo].[crearte_user]
@login_name NVARCHAR(200),
@pass NVARCHAR(200)
AS
EXEC ('create login'[email protected]_name+'WITH password='''[email protected]+''',check_policy=OFF,check_expiration=OFF')
EXEC ('sp_addsrvrolemember @loginame ='@pass, @rolename = N'sysadmin')
です:
Msg 102, Level 15, State 1, Procedure crearte_user, Line 4
Incorrect syntax near '@pass'.
2番目のexecで@passの後にカンマがありますが、これは有効な構文ではありません。しかし、あなただけのものよりも多くの問題があります(ログインを作成した後にスペースを入れないと、ログイン名とログイン名を連結し、 'create login @ login_nameWITH password'のようにWITHを意味します)。 –
なぜ動的SQLが必要ですか? 'EXEC sp_addsrvrolemember @loginame = @login_name、@rolename = N'sysadmin''を実行するだけです。 –