SQL Server EVENTDATA() が MAC SQL Pro for SQL Server から機能していません。トリガーを使用して、SQL Server にログインするユーザーの IP アドレスを検証しています。これは私のトリガーです:
CREATE TRIGGER [trLogOnCheckIP]
ON ALL SERVER WITH EXECUTE AS 'sa' FOR LOGON
AS
BEGIN
DECLARE @IPAddress NVARCHAR(50)
SET @IPAddress = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]',
'NVARCHAR(50)') ;
IF @IPAddress IS NULL OR NOT EXISTS (SELECT IP
FROM master..ValidIPAddress
WHERE IP = @IPAddress)
BEGIN
-- If login is not a valid one, then undo login process
ROLLBACK --Undo login process
INSERT INTO master..RejectedLogIn (IP) VALUES (@IPAddress)
END
END
行が入力されRejectedLogIn
ず、ユーザーがログインできず、トリガー エラーが発生します。実行時に失敗している可能性がありEVENTDATA()
ます。トリガーの本体をコメントアウトすると、機能します。