Desativando CHECK_POLICY por padrão


8

Passamos do SQL Server 2000 para o SQL Server 2005. O software cliente, que não posso alterar, cria um usuário sem opção

CHECK_POLICY = OFF;

Depois de criar um usuário, eu tenho que executar o comando

ALTER LOGIN username WITH CHECK_POLICY = OFF;

Desative a política, conforme recomendado, não posso.

É possível desativar o padrão CHECK_POLICYque sem o CREATE LOGINusuário criado CHECK_POLICY = OFF?


2
Por que você atualiza de uma versão antiga para outra versão antiga? Tivemos 3 novas versões desde a sua "nova" versão.
Marian

2
Eu diria que a resposta para essa pergunta é porque o fornecedor do software suporta apenas o SQL 2005. É muito comum.
Mrdenny

Para mrdenny: O fornecedor do software não considera isso um problema.
Arty

Respostas:


6

Você faz isso com um DDL Trigger que captura o evento DDL para CREATE LOGIN

CREATE TRIGGER PolicyStuff
ON ALL SERVER
FOR CREATE_LOGIN
AS
SET NOCOUNT ON;
IF EVENTDATA().value('(/EVENT_INSTANCE/LoginType)[1]','nvarchar(100)') = 'SQL Login'
BEGIN
    DECLARE @sql nvarchar(1000) = 'ALTER LOGIN ' + QUOTENAME(EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(max)')) + ' WITH CHECK_POLICY = OFF;';
    EXEC(@sql);
END
GO

CREATE LOGIN foo WITH PASSWORD='C-mplex654Password', CHECK_POLICY=ON;
GO
SELECT SL.name, SL.is_policy_checked FROM sys.sql_logins SL WHERE SL.name = 'foo'
GO
DROP LOGIN foo
GO

Os gatilhos DDL estavam disponíveis no SQL 2005?
Mrdenny


Legal. Já faz um tempo desde que tive que fazer algo empolgante com o SQL 2005. Não me lembro pela vida. Eles teriam sido minha sugestão também.
Mrdenny

Não estou em nenhum lugar da documentação e não encontro nenhuma menção do que CHECK_POLICY não está desativado por padrão. Mas parece que é assim.
Arty

@Arty: Eu olhei por toda parte também. Incluindo vários blogs do MS SQL Server. Não pode ser definido globalmente pelo que li.
gbn 30/05

0

isso não funcionará se você criou seu login com MUST_CHANGE e o usuário não alterou a senha padrão, caso contrário, está funcionando bem ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.