Category: CAS

GenesisWorld SQL Performance unter SQL Server 2017/2019

durch einen Hinweis in einem im CU4 (2019) bzw. CU19 (SQL 2017) enthaltenen KBhttps://support.microsoft.com/en-us/help/4538497/kb4538497-fix-slow-query-performance-when-using-query-predicates-withbin ich über das Flag QUERY_OPTIMIZER_HOTFIXES gestolpert.Wir haben die geänderte Config bislang nur einen Tag getestet, aber subjektiv scheint das System performanter und stabiler zu laufen – es kommt auf einen Versuch an. Das CU19 sollte bereits installiert sein – dann die […]

Read more

SQL Speicherplatzbedarf von Tabellen anzeigen

CREATE PROCEDURE SP_GetTableSpace AS SET NOCOUNT ON CREATE TABLE #TableSpace ( Rows int, DataSpaceUsed int, IndexSpaceUsed int ) DECLARE @TableSpace table ( TableName varchar(255), Rows int, DataSpaceUsed int, IndexSpaceUsed int ) DECLARE @Rows int, @DataSpaceUsed int, @IndexSpaceUsed int, @TableName varchar(255) DECLARE Table_Cursor CURSOR FOR SELECT user_name(o.uid) + ‚.‘ + o.name AS table_name FROM dbo.sysobjects o, […]

Read more

SQL Tabelle (CAS Changelogbook) schnell verkleinern

Das löschen mehrerer Zeilen aus großen SQL Tabellen kann schnell zum Geduldsspiel werden. Wenn z.B. aus dem CAS Changelogbook alle alten Einträge entfernt werden sollen, würde folgende Anweisung schnell ein paar Stunden laufen ( und im Zweifelsfall in einen Timeout laufen: DELETE FROM dbo.Changelogbook Where updatetimestamp < getdate()-365 Die DELETE-Anweisung läuft extrem lange und auch das DB-Protokoll […]

Read more

Alle Spalten einer SQL Datenbank nach einem Textinhalt durchsuchen

ALTER PROCEDURE SP_FindStringInDataBase AS SET NOCOUNT ON CREATE TABLE #TableSpace ( Inhalt int ) DECLARE @TableSpace Table ( T varchar(255), C varchar(255), Inhalt int ) DECLARE @Rows int, @TableName varchar(255), @COLUMNNAME varchar(255), @Inhalt int; DECLARE Table_Cursor CURSOR FOR SELECT Top 100 Percent TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE (data_type=’varchar‘ or data_type=’nvarchar‘) And Column_Name!=’Notes2′ And Column_Name!=’Name‘ And […]

Read more

SQL Server Backup, Integrity Check, and Index and Statistics Maintenance

Sehr gute Skripte sind bei  Ola Hallengren zu finden: https://ola.hallengren.com/ Extern lässt sich dies z.B. auf einem SQL Express ohne Agent per Batch aufrufen sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d master -Q „EXECUTE [dbo].[IndexOptimize] @Databases = ‚NAME‘,@FragmentationLow = NULL, @FragmentationMedium = ‚INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE‘, @FragmentationHigh = ‚INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE‘, @FragmentationLevel1 = 5, @FragmentationLevel2 = 30, @UpdateStatistics = ‚ALL‘, @OnlyModifiedStatistics = […]

Read more

SQL Index Neuaufbau über Transact SQL

–Rebuild all indexes online with keeping the default fill factor for each index USE [DATABASE_NAME] EXEC sp_MSforeachtable @command1=“print ‚?'“, @command2=“ALTER INDEX ALL ON ? REBUILD WITH (ONLINE=ON)“ –Rebuild all indexes offline with keeping the default fill factor for each index USE [DATABASE_NAME] EXEC sp_MSforeachtable @command1=“print ‚?'“, @command2=“ALTER INDEX ALL ON ? REBUILD WITH (ONLINE=OFF)“ –Rebuild […]

Read more