Title |
[MSSQL] MSSQL SERVER起動/再起動時に暗・複合化動作確認スクリプト | Product |
Plug-In |
---|---|---|---|
Phenomenon |
暗号化/複合化ファンクション遂行エラーが発生 |
||
Cause |
PLUGINがインストールされたOSが再起動する場合のみ共有メモリがクリアされ、
このときはポリシーをローカル/遠隔(セキュリティーサーバ)から注入してもらわないといけないが、 特別な理由(ネットワーク、OS作動エラー)で共有メモリにポリシーが反映されない 現象が発生することがあります。 |
||
Solution |
以下のスクリプトの活用を検討してください。
/* --------------------------------------------------------------- ------------------- 暗号化可否確認Procedure ------------- --------------------------------------------------------------- -- スクリプト内容 -- 1> 使用者プロシージャ-SP_MSSQL_STARTUP_CHECK_ENCRYPTION_TEST をMASTERデータベースに生成する 2> 暗号化の成功/失敗によって分岐する --------------------------------------------------------------- */ USE MASTER GO CREATE PROC DBO.SP_MSSQL_STARTUP_CHECK_ENCRYPTION_TEST AS DECLARE @ENC VARCHAR(100) SET @ENC = 'NOT_USING' -- ITEM : AES128 (該当サイトで使うITEMに修正) SET @ENC = MASTER.DBO.ENC_CHAR_INS (0,'AES128','000-1111111') IF @ENC = 'NOT_USING' BEGIN -- ENCRYPTION FAIL. INSERT INTO MESSAGE_TABLES VALUES ('FAIL') END ELSE BEGIN -- ENCRYPTION SUCCESS. INSERT INTO MESSAGE_TABLES VALUES ('SUCCESS') END GO /* ---------------------------------------------------------------- ------- MSSQL_STARTUP_CHECK_ENCRYPTION_TEST活用------- ---------------------------------------------------------------- 以上に作成された暗号化成功/失敗プロシージャ-活用 */ 1. STARTUP PROCEDURE > 特定プロシージャーはSP_PROCOPTIONプロシージャーを使って登録 > 該当プロシージャーはSQLSERVER起動/再起動時に自動作動 (ex) 登録 exec sp_procoption 'プロシージャー名' , 'STARTUP' , 'ON' (ex) 解除 exec sp_procoption 'プロシージャー名' , 'STARTUP' , 'OFF' 2. MSSQL SERVER AGENT > 特定プロシージャーをAGENTスケジュールに登録、特定時間帯に作動させる > プロシージャー作動時間/期間/繰り返し/曜日などの調整が可能 > 失敗した場合、SMSやEMAILなどと連携してメッセージを送ることができる (SMS、EMAIL支援がある場合) |