SQL Gen'd идентификатор входа - PullRequest
1 голос
/ 03 июня 2011

Я пытаюсь сделать это

declare @aspAccountName varchar(30);
SET @aspAccountName=HOST_NAME() + '\ASPNET';

IF  NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = @aspAccountName)
    CREATE LOGIN (SELECT @aspAccountName) FROM WINDOWS WITH DEFAULT_DATABASE=[master]

Но там написано "Неверный синтаксис рядом с @aspAccountName" - есть идеи?

Спасибо

1 Ответ

1 голос
/ 03 июня 2011

Вам нужно написать часть CREATE LOGIN как динамический SQL.

DECLARE @sql nvarchar(200)

SET @sql = N'CREATE LOGIN ' + @aspAccountName + N' FROM WINDOWS WITH DEFAULT_DATABASE=[master]'

EXEC sp_executesql @sql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...