WA_Sys Statistiken löschen

Posted on Sep 23, 2008 von in SQL Server
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

Pro SQL Server 2005 High Availability

Posted on Sep 22, 2008 von in Vermischtes

24x7 oder 100% Uptime sind nur einige der Schlagworte, denen man immer wieder begegnet, wenn man über Hochverfügbarkeit und/oder Business Continuity spricht. Was genau sich dahinter verbirgt, wie "Hochverfügbarkeit" definiert und wie man solche Hochverfügbarkeitslösungen plant und implementiert, beschreibt der Autor eindrucksvoll auf mehr als 700 Seiten. Dabei liegt der eindeutige Fokus auf der Implementierung, durch die der Leser anhand von zahlreichen Screenshots Schritt für Schritt geführt wird.

Auch wenn viele der behandelten Themen zu den Standardthemen in SQL Server Büchern gehören, so existiert zur Zeit meines Wissens nach kein vergleichbares Werk, in dem sämtliche relevanten Themen an einem Ort gebündelt werden. Ein lesenwertes Buch für Administratoren und IT-Infrastruktur-Architekten.

Pro SQL Server 2005 High Availability
Allan Hirt
2007, Apress
745 Seiten
79,99$
ISBN-10: 159059780X

Pro SQL Server Disaster Recovery

Posted on Sep 22, 2008 von in SQL Server

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.

Ganze Geschichte »

Zeichenfolge im SQL Code finden

Posted on Sep 22, 2008 von in SQL Server
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;

Pro ASP.NET for SQL Server: High Performance Data Access for Web Developers

Posted on Sep 20, 2008 von in SQL Server

Das Buch erläutert anhand zahlreicher Beispiele rund um eine fiktive Website den effektiven Datenzugriff auf SQL Server von ASP.NET aus. Es füllt damit eine Lücke zwischen der reinen ASP.NET Literatur auf der einen Seite und SQL Server-fokussierter Literatur auf der anderen Seite und ist interessant für beide Fraktionen.

Pro ASP.NET for SQL Server: High Performance Data Access for Web Developers
Brennan Stehling
2007, Apress
408 Seiten
59,99$
ISBN-10: 1590598601

Query Fingerprints and Plan Fingerprints (The Best SQL 2008 Feature That You've Never Heard Of)

Posted on Sep 4, 2008 von in SQL Server
http://blogs.msdn.com/bartd/archive/2008/09/03/Query-Fingerprints-and-Plan-Fingerprints_3A00_-The-Best-New-SQL-2008-Feature-You_2700_ve-Never-Heard-Of.aspx

Best Practices for Semantic Data Modeling for Performance and Scalability

Posted on Sep 4, 2008 von in SQL Server
http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/BPSemanticDBModeling.docx

Indexfragmentierung anzeigen

Posted on Sep 1, 2008 von in SQL Server
SELECT 
DB_NAME(IXStats.database_id) AS DatabaseName,
OBJECT_NAME (IXStats.[object_id]) AS TabellenName,
SIX.[Name] AS IndexName,
IXStats.avg_fragmentation_in_percent,
IXStats.index_type_desc
FROM
sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) IXStats
JOIN
sys.indexes SIX ON IXStats.[object_id] = SIX.[object_id] AND IXStats.index_id = SIX.index_id
WHERE
IXStats.database_id = DB_ID()
ORDER BY
IXStats.avg_fragmentation_in_percent DESC