Mematikan CHECK_POLICY secara default

8

Kami pindah dari SQL Server 2000 ke SQL Server 2005. Perangkat lunak klien, yang tidak dapat saya ubah, membuat pengguna tanpa opsi

CHECK_POLICY = OFF;

Setelah membuat pengguna, saya harus menjalankan perintah

ALTER LOGIN username WITH CHECK_POLICY = OFF;

Nonaktifkan kebijakan, seperti yang disarankan, saya tidak bisa.

Apakah mungkin untuk menonaktifkan default CHECK_POLICYyang CREATE LOGINdibuat tanpa penggunanya CHECK_POLICY = OFF?

Arty
sumber
2
Mengapa Anda meningkatkan dari versi kuno ke versi kuno lainnya? Kami memiliki 3 versi baru sejak versi "baru" Anda.
Marian
2
Saya akan berasumsi bahwa jawaban untuk pertanyaan itu adalah karena vendor perangkat lunak hanya mendukung hingga SQL 2005. Ini sangat umum.
mrdenny
Untuk mrdenny: Vendor perangkat lunak tidak menganggap ini sebagai masalah.
Arty

Jawaban:

6

Anda melakukannya dengan Pemicu DDL yang menangkap acara DDL untuk 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
gbn
sumber
Apakah pemicu DDL tersedia di SQL 2005?
mrdenny
Keren. Sudah lama sejak saya harus melakukan sesuatu yang menarik dengan SQL 2005. Tidak bisa seumur hidup saya ingat. Mereka akan menjadi saran saya juga.
mrdenny
Saya tidak ada dalam dokumentasi yang tidak menemukan penyebutan CHECK_POLICY apa yang tidak dimatikan secara default. Tapi sepertinya memang begitu.
Arty
@Arty: Saya juga mencari-cari. Termasuk berbagai blog MS SQL Server. Itu tidak dapat diatur secara global dari apa yang saya baca.
gbn
0

ini tidak akan berfungsi jika Anda telah membuat login dengan MUST_CHANGE dan pengguna tidak mengubah kata sandi default jika tidak berfungsi dengan baik ...


sumber