[RAISERROR] の機能だけを利用して,メッセージを記録します。
この機能では SQL エラー番号 50000 としてログ記録されます。
USE TestDB
DECLARE @DBID INT
DECLARE @DBNAME NVARCHAR(128)
SET @DBID = DB_ID()
SET @DBNAME = DB_NAME()
BACKUP DATABASE TESTDB TO DISK = 'E:\test.bak'
IF @@ERROR = 0
BEGIN
RAISERROR ('ID :%d, NAME:%s Backup success.', 1, 1, @DBID, @DBNAME) WITH LOG
END
ELSE
BEGIN
RAISERROR ('ID :%d, NAME:%s Backup fail.', 1, 1, @DBID, @DBNAME) WITH LOG
END
GO
この機能では SQL エラー番号 やログ記録のオン/オフなどを事前に定義しておくことができます。
EXEC sp_addmessage @msgnum = 50001, @severity =1,
@msgtext ='ID :%d, NAME:%s Backup success.',@with_log=True
EXEC sp_addmessage @msgnum =50002, @severity =1,
@msgtext ='ID :%d, NAME:%s Backup fail.',@with_log=True
GO
USE TestDB
DECLARE @DBID INT
DECLARE @DBNAME NVARCHAR(128)
SET @DBID = DB_ID()
SET @DBNAME = DB_NAME()
BACKUP DATABASE TESTDB TO DISK = 'E:\test.bak'
IF @@ERROR = 0
BEGIN
RAISERROR (50001, 1, 1, @DBID, @DBNAME)
END
ELSE
BEGIN
RAISERROR (50002, 1, 1, @DBID, @DBNAME)
END
GO