Archivi categoria : Sql Server

SPLIT in SQL Server

Vi riporto una funzione che serve per utilizzare lo SPLIT in SQL Server. CREATE FUNCTION [dbo].[SplitStringinSQL] ( @string NVARCHAR(MAX), @delimiter CHAR(1) ) RETURNS @output TABLE(splitdata NVARCHAR(MAX) ) BEGIN DECLARE @start INT, @end INT SELECT @start = 1, @end = CHARINDEX(@delimiter, @string) WHILE @start < LEN(@string) + 1 BEGIN IF @end = 0 SET @end =…
Read More

Ricercare una stringa in tutto il database

DECLARE @search_string VARCHAR(100), @table_name SYSNAME, @table_id INT, @column_name SYSNAME, @sql_string VARCHAR(2000) SET @search_string = '123' DECLARE tables_cur CURSOR FOR SELECT name, object_id FROM sys.objects WHERE type = 'U' OPEN tables_cur FETCH NEXT FROM tables_cur INTO @table_name, @table_id WHILE (@@FETCH_STATUS = 0) BEGIN DECLARE columns_cur CURSOR FOR SELECT name FROM sys.columns WHERE object_id = @table_id AND…
Read More

Ciclare su tutti i database presenti nell’istanza di SQL per sapere quale tabella contiene più Record

Avevo 4/5 database con la struttura uguale ma volevo sapere per una tabella, che in questo caso chiamo TableDefault, quale database contesse più record. Per cui ho creato un Cursore per recuperare questa informazione: DECLARE @NameDatabase varchar(250) declare @cmd varchar(250) DECLARE cur_NameDatabase CURSOR FOR SELECT name FROM SYS.DATABASES OPEN cur_NameDatabase FETCH NEXT FROM cur_NameDatabase INTO…
Read More

Table partitioning con SQL Server step by step

[tabs direction="top" tab1="Step 1" tab2="Step 2" tab3="Step 3" tab4="Step 4" tab5="Step 5"] [tab1] SQL Server 2005 introduce la funzionalità di “Partitioned Table” che consente di partizionare orizzontalmente i dati di una tabella allo scopo di ottimizzarne le performance, la manutenibilità e lo spostamento di dati. Con il termine “partizionamento orizzontale” ci si riferisce alla separazione…
Read More