4
4
@SnapshotDate DATETIME2 (2 )
5
5
)
6
6
AS
7
+ SET XACT_ABORT ON
8
+ SET NOCOUNT ON
7
9
DECLARE @Ref VARCHAR (30 )= ' Databases'
8
10
IF NOT EXISTS (SELECT 1 FROM dbo .CollectionDates WHERE SnapshotDate>= @SnapshotDate AND InstanceID = @InstanceID AND Reference= @Ref)
9
11
BEGIN
@@ -20,14 +22,14 @@ BEGIN
20
22
NewValue SQL_VARIANT NULL ,
21
23
ChangeDate DATETIME2 (2 ) NOT NULL
22
24
);
23
- CREATE TABLE # OldSettings(
25
+ DECLARE @ OldSettings TABLE (
24
26
DatabaseID INT NOT NULL ,
25
27
Setting sysname NOT NULL ,
26
28
Value SQL_VARIANT NULL ,
27
29
is_in_standby BIT NULL
28
30
);
29
31
/* Capture old settings before update */
30
- INSERT INTO # OldSettings
32
+ INSERT INTO @ OldSettings
31
33
(
32
34
DatabaseID,
33
35
Setting,
@@ -316,15 +318,15 @@ BEGIN
316
318
IF @@ROWCOUNT > 0
317
319
BEGIN
318
320
INSERT INTO #History(DatabaseID,Setting,OldValue,NewValue,ChangeDate)
319
- SELECT o .DatabaseID ,o .Setting ,o .value ,n .value ,@SnapshotDate AS ChangeDate
320
- FROM # OldSettings o
321
+ SELECT o .DatabaseID ,o .Setting ,o .Value ,n .Value ,@SnapshotDate AS ChangeDate
322
+ FROM @ OldSettings o
321
323
JOIN dbo .DatabaseSettingsUnpivot_Get (@InstanceID) n ON o .DatabaseID = n .DatabaseID AND o .Setting = n .Setting
322
- WHERE NOT EXISTS (SELECT o .value
324
+ WHERE NOT EXISTS (SELECT o .Value
323
325
INTERSECT
324
326
SELECT n .Value )
325
327
AND NOT (o .Setting <> ' is_read_only' AND n .is_in_standby = 1 AND n .Value = 1 )
326
328
AND NOT (o .Setting <> ' is_read_only' AND o .is_in_standby = 1 AND o .Value = 1 )
327
- AND NOT (o .Setting = ' state' AND n .value IN (0 ,1 ,2 ,3 ) AND o .value IN (0 ,1 ,2 ,3 ));
329
+ AND NOT (o .Setting = ' state' AND n .Value IN (0 ,1 ,2 ,3 ) AND o .Value IN (0 ,1 ,2 ,3 ));
328
330
END
329
331
330
332
/* Handle databases being re-created or restored */
0 commit comments