Art*_*rty 8 sql-server-2005 sql-server
我们从 SQL Server 2000 迁移到 SQL Server 2005。我无法更改的客户端软件创建了一个没有选项的用户
CHECK_POLICY = OFF;
Run Code Online (Sandbox Code Playgroud)
创建用户后,我必须运行命令
ALTER LOGIN username WITH CHECK_POLICY = OFF;
Run Code Online (Sandbox Code Playgroud)
按照建议禁用该策略,我不能。
是否可以禁用CHECK_POLICY
没有她的CREATE LOGIN
用户创建的默认值CHECK_POLICY = OFF
?
您可以使用 DDL 触发器捕获 DDL 事件 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5573 次 |
最近记录: |