gwtipstricks:idxtipstricks:appuntisqlserver

Questa è una vecchia versione del documento!


Appunti SQL Server

  1. eseguire il bkp del DB di partenza
  2. creare il DB di arrivo con il nome desiderato
  3. in fase di import:
    1. importare il DB esportato nel DB con il nuovo nome
    2. nella scheda “file” selezionare l'opzione “riloca tutti i file nella cartella” e controllare che i path “nome file originale” e “ripristina come” facciano riferimento al nuovo DB
    3. nella scheda “opzioni” selezionare solo l'opzione “sovrascrivi il database esistente (with replace)”

0. creare gli schemi nuovi vuoti

1. eseguire la seguente query:

SELECT 'ALTER SCHEMA schema_arrivo TRANSFER ' + TABLE_SCHEMA + '.' + TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'schema_partenza' order by TABLE_NAME

2. selezionare tutte le query che vengono restituite ed eseguirle per trasferire tutte le tabelle

3. controllare le viste –> esportare gli script delle viste e tramite un editor di testo aggiornare lo schema al loro interno

4. cancellare tutte le viste eseguendo la seguente query per selezionarle tutte:

SELECT 'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(v.name) +';'
FROM   sys.views v

5. selezionare tutti i risultati ed eseguirli per cancellare tutte le viste

6. controllare se ci sono delle funzioni/procedure da modificare

7. ricreare le viste opportunamente modificate

8. controllare l'esatto numero delle viste, lanciare lo script di creazione più volte perché viste potrebbero dipendere da altre viste

1. eseguire la seguente query:

SELECT  ' Drop table ' + QUOTENAME(TABLE_SCHEMA) + '.'+ QUOTENAME(TABLE_NAME) + '; '
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_TYPE = 'BASE TABLE' order by TABLE_NAME

2. copiare ed incollare il risultato in una finestra di lavoro

3. per fare la delete “SELECT ' Delete ' +”

4. per selezionare “SELECT ' Select * ' +”

USE [INTESA_CDE] -- replace your dbname
GO
SELECT
s.Name AS SchemaName,
t.Name AS TableName,
p.rows AS RowCounts,
CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Used_MB,
CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS Unused_MB,
CAST(ROUND((SUM(a.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Total_MB
FROM sys.tables t
INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
GROUP BY t.Name, s.Name, p.Rows
ORDER BY CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) desc,s.Name, t.Name
GO
  • gwtipstricks/idxtipstricks/appuntisqlserver.1573029751.txt.gz
  • Ultima modifica: 2019/11/06 09:42
  • da 127.0.0.1