私はよく SQLServer のログを確認しますが、クエリは通常次のようになります (Type = 0 はエラーを意味します)。
SELECT *
FROM Logs
WHERE Type = 0
ORDER BY Timestamp
しかし、ほとんどの場合、私はエラー自体だけでなく、エラーの直前に何が起こったかにも関心があります。
SQLServer を使用して、クエリの WHERE 句に一致する各行 (主キーに対して) の上/下の n 行をクエリすることは可能ですか?
元。私のクエリでは、125 行と 130 行しか取得できません。[123, 124, 125] と [128, 129, 130] が必要です。
PrimaryKey Timestamp Type Description
123 2012-09-17 03:41:46.240 1 Working.
124 2012-09-17 03:42:46.240 1 Database backup.
125 2012-09-17 03:43:46.240 0 Access violation.
126 2012-09-17 03:44:46.240 1 Working.
127 2012-09-17 03:45:46.240 1 Working.
128 2012-09-17 03:46:46.240 1 Working.
129 2012-09-17 03:47:46.240 1 Backup.
130 2012-09-17 03:48:46.240 0 Corrupted.
131 2012-09-17 03:49:46.240 1 Working.
ありがとうございました。