SET NOCOUNT ON;
DECLARE @TempStats TABLE (StatsName varchar(500));
DECLARE @StatsName varchar(500);
DECLARE @sql varchar(MAX);
INSERT INTO @TempStats
(StatsName)
SELECT
OBJECT_NAME([object_id]) + '.' + [name]
FROM
sys.stats S
WHERE
OBJECTPROPERTY([object_id], 'IsMSShipped') = 0 AND
[NAME] LIKE '_WA_Sys%';
SELECT
@StatsName = MIN(StatsName)
FROM
@TempStats;
WHILE @StatsName IS NOT NULL
BEGIN
SELECT @sql = 'DROP STATISTICS ' + @StatsName;
EXEC (@sql);
PRINT 'Deleted statistics: ' + @StatsName;
DELETE
@TempStats
WHERE
StatsName = @StatsName;
SELECT
@StatsName = MIN(StatsName)
FROM
@TempStats;
END
Es ist keine Frage, ob Hardware ausfällt, sondern wann. Auch wenn dieser Fall manchem so unwahrscheinlich und fern erscheint, so sollte man darauf vorbereitet sein so gut es geht. Dazu zählt unter anderem, dass man Service Levels (SLA's) mit seinen Business Usern erstellt, eine Disaster Recovery Strategie aufbaut, mit der diese SLA's erreicht werden können und in regelmässigen Abständen auch den Ernstfall durchspielt, um für den Fall der Fälle gerüstet zu sein.
DECLARE @codesnippet varchar(100);
SET @codesnippet = 'EnterStringHere';
SELECT
O.type_desc AS ObjectType,
(LEFT(OBJECT_NAME(M.[object_id]), 50)) AS ObjectName
FROM
sys.sql_modules M
JOIN
sys.objects O ON M.[object_id] = O.[object_id]
WHERE
definition LIKE '%' + @codesnippet + '%'
AND
OBJECTPROPERTY(M.[object_id], 'IsMSShipped') = 0
ORDER BY
ObjectName;