GROUP_CONCAT

Se installando GROUP_CONCAT si riscontra il seguente errore: ‘clr strict security’ option of sp_configure is set to 1 occorre eseguire:

CERCARE VALORE IN MINUSCOLO

Per cercare un valore in minuscolo utilizzare questa query: SELECT * FROM U_CMC_Etichetta WHERE CodCli LIKE ‘c%’ COLLATE Latin1_General_CS_AS Per trasformare in maiuscolo utilizzare questa query: UPDATE U_CMC_Etichetta SET CodCli=UPPER(CodCli) WHERE CodCli LIKE ‘c%’ COLLATE Latin1_General_CS_AS

SSMS non vede DB Datalog

Se SSMS non riesce a vedere i databases standard di Datalog (che solitamente si trovano in C:\Piu.Win_Server\ArchiviSQL), bisogna abilitare i permessi su quella cartella facendo: Utilizzando Esplora risorse passare al percorso del file system in cui sono archiviati i file di database. Fare clic con il pulsante destro del mouse sulla cartella del file system e Leggi di piùSSMS non vede DB Datalog[…]

DEFRAMMENTARE TUTTE LE TABELLE DI UN DB

Per deframmentare tutte le tabelle di un database eseguire: SET NOCOUNT ON DECLARE @tablename VARCHAR (128) DECLARE @execstr VARCHAR (255) DECLARE @objectid INT DECLARE @indexid INT DECLARE @frag DECIMAL DECLARE @maxfrag DECIMAL — Decide on the maximum fragmentation to allow SELECT @maxfrag = 30.0 — Declare cursor DECLARE tables CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES Leggi di piùDEFRAMMENTARE TUTTE LE TABELLE DI UN DB[…]

RICOSTRUIRE TUTTI GLI INDICI DI UN DB

Per ricostruire tutti gli indici di un DB eseguire: USE <miodatabase> DECLARE @tabella varchar(255) DECLARE cursore_tabella CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_type = ‘base table’ OPEN cursore_tabella FETCH NEXT FROM cursore_tabella INTO @tabella WHILE @@FETCH_STATUS = 0 BEGIN DBCC DBREINDEX(@tabella,’ ‘,90) FETCH NEXT FROM cursore_tabella INTO @tabella END CLOSE cursore_tabella DEALLOCATE cursore_tabella

CONTROLLO STATO DB

Per controllare lo stato di un database, eseguire: SELECT dbschemas.[name] as ‘Schema’, dbtables.[name] as ‘Table’, dbindexes.[name] as ‘Index’, indexstats.alloc_unit_type_desc, indexstats.avg_fragmentation_in_percent, indexstats.page_count FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id] INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id] INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id] Leggi di piùCONTROLLO STATO DB[…]

ACCESSO A TABELLA PER UTENTE

Per permettere ad un utente specifico di accedere ad una tabella (o vista): USE [master]; GO CREATE LOGIN [utente] WITH PASSWORD='[password]’, CHECK_POLICY = OFF; GO USE [database] GO CREATE USER [utente] FROM LOGIN [utente]; GO GRANT SELECT ON [tabella o vista] TO [utente] GO

FORZARE VALORI ID IN SQL

Forzando l’inserimento di un campo ID si riceve l’errore: Cannot insert explicit value for identity column in table ‘table’ when IDENTITY_INSERT is set to OFF Per ovviare a ciò, basta eseguire: SET IDENTITY_INSERT Table1 ON INSERT INTO Table1 ….. SET IDENTITY_INSERT Table1 OFF