SQL Логины сервера заблокированы, но не заблокированы - PullRequest
2 голосов
/ 31 января 2020

Я создаю логины для многих людей. Они работают в основном, но некоторые время от времени ведут себя так: логины проходят аутентификацию через SQL аутентификация сервера. Человек получает это сообщение: enter image description here

Когда я смотрю на Логин, я вижу это: enter image description here

Так оно говорит мне они не заблокированы. Я должен отредактировать их pw, и логин снова начинает работать. Мне даже не нужно менять PW, я просто заново ввожу текущий. Я что-то упустил?

Вот скрипт, который создает Логин:

ALTER PROCEDURE [dbo].[spCreateLogins]
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    declare @newdb sysname
    DECLARE @studentID AS varchar(20)
    begin try
        close student_cursor
        DEALLOCATE student_cursor
    end try
    begin catch
    end catch
    DECLARE student_cursor CURSOR FOR SELECT UserName FROM tStudent where studentid>35
    DECLARE @SQL NVARCHAR(4000)

OPEN student_cursor

FETCH NEXT FROM student_cursor
INTO @studentID

WHILE @@FETCH_STATUS = 0
BEGIN
    -- Create the user name
    SET @SQL = 'CREATE LOGIN ' + ltrim(rtrim(@StudentID)) + ' WITH PASSWORD = ''P@ssword1'', DEFAULT_DATABASE=' + ltrim(rtrim(@StudentID)) + ', CHECK_EXPIRATION=OFF, CHECK_POLICY=ON';
    print @SQL
    EXECUTE(@SQL);

FETCH NEXT FROM student_cursor
INTO @studentID
END


END

1 Ответ

0 голосов
/ 31 января 2020

Я посмотрел в настройках безопасности -> Политики учетной записи -> Политика AccountLockout в secpol.ms c, как предложено @ SEarle1986. Я понятия не имел, что локаут может быть временным. :)

enter image description here

...