Differenze tra le versioni di "MSSQL"

Da WikiSitech.
Vai alla navigazioneVai alla ricerca
Riga 54: Riga 54:
 
<br>
 
<br>
 
= HOW TO =
 
= HOW TO =
 +
== Elenca tutti i database con un determinato Recovery Model ==
 +
<code sql>
 +
SELECT name, recovery_model_desc
 +
  FROM sys.databases
 +
      WHERE recovery_model_desc <> 'simple';
 +
</code sql>
 
== Script per backup di alcuni filegroup ==
 
== Script per backup di alcuni filegroup ==
 
<code sql>
 
<code sql>

Versione delle 11:48, 16 apr 2013

Microsoft SQL Server 2008 - Appunti di gestione

Spostare database utente su dischi diversi

Il modo più semplice in assoluto è quello di procedere secondo questa sequenza:

  1. detach del database
  2. spostamento dei file nella nuova posizione
  3. attach dei file dalla nuova posizione


Spostare alcuni dei database di sistema su dischi diversi

Per spostare i database di sistema su un disco diverso, procedere come segue:

  • Verificare la dislocazione attuale dei database

SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files;

  • Modificare la definizione dello storage al nuovo percorso

-- -- In questo esempio ricollochiamo il DB di sistema 'distribuzione' ALTER DATABASE distribuzione MODIFY FILE ( NAME = 'distribuzione', FILENAME = 'E:\MSSQLData\distribuzione.MDF' ) ALTER DATABASE distribuzione MODIFY FILE ( NAME = 'distribuzione_log', FILENAME = 'E:\MSSQLData\distribuzione.LDF' )

  • Interrompere l'istanza di SQL Server
  • Spostare i file nella nuova posizione
  • Riavviare l'istanza di SQL Server


Questi appunti sono stati tratti da un articolo di MSDN.

Microsoft SQL Server 2000 - Appunti di gestione

Trasferimento login e password fra database diversi

Vedi articolo 246133 sul sito del supporto Microsoft

Risoluzione di utenze orfane di login (post restore da un database diverso)

SQL Server 2005/2008

Vedi man page ALTER USER sul sito del supporto Microsoft Esempio: ALTER USER pinco WITH NAME= pinco, LOGIN pinco;

Estrazione record in attesa di replica transazionale

SELECT name as 'Agent', SUM(UndelivCmdsInDistDB) as 'Cmds' FROM distribution.dbo.MSdistribution_agents a INNER JOIN distribution.dbo.MSdistribution_status st on st.agent_id = a.id GROUP BY a.name

Microsoft SQL Server 2005 - Installazione in modalità unattended

Installazione di una nuova istanza

Start /wait <CD or DVD Drive>\DISK1\setup.exe /qb INSTANCENAME=<InstanceName> ADDLOCAL=All PIDKEY=<pidkey value with no "-"> SAPWD=<StrongPassword> SQLACCOUNT=<domain\user> SQLPASSWORD=<DomainUserPassword> AGTACCOUNT=<domain\user> AGTPASSWORD=<DomainUserPassword> SQLBROWSERACCOUNT=<domain\user> SQLBROWSERPASSWORD=<DomainUserPassword>


Per ulteriori dettagli vedi l'articolo estratto da book online

Microsoft SQL Server 2005 - Appunti di gestione

Knowledge Base interna

Vai alla pagina dedicata alla KB.

HOW TO

Elenca tutti i database con un determinato Recovery Model

SELECT name, recovery_model_desc

  FROM sys.databases
     WHERE recovery_model_desc <> 'simple';

Script per backup di alcuni filegroup

BACKUP DATABASE PAPER FILEGROUP='<filegroup-name>' , FILEGROUP='<filegroup-name' TO DISK='disk-device'

Backup PRIMARY filegroup

BACKUP DATABASE PAPER FILEGROUP='PRIMARY' TO DISK='disk-device'

Elenca tutte le tabelle nei vari FILEGROUP

-- List all Objects and Indexes -- per Filegroup / Partition and Allocation Type -- including the allocated data size SELECT DS.name AS DataSpaceName

     ,AU.type_desc AS AllocationDesc 
     ,AU.total_pages / 128 AS TotalSizeMB 
     ,AU.used_pages / 128 AS UsedSizeMB 
     ,AU.data_pages / 128 AS DataSizeMB 
     ,SCH.name AS SchemaName 
     ,OBJ.type_desc AS ObjectType       
     ,OBJ.name AS ObjectName 
     ,IDX.type_desc AS IndexType 
     ,IDX.name AS IndexName 

FROM sys.data_spaces AS DS

    INNER JOIN sys.allocation_units AS AU 
        ON DS.data_space_id = AU.data_space_id 
    INNER JOIN sys.partitions AS PA 
        ON (AU.type IN (1, 3)  
            AND AU.container_id = PA.hobt_id) 
           OR 
           (AU.type = 2 
            AND AU.container_id = PA.partition_id) 
    INNER JOIN sys.objects AS OBJ 
        ON PA.object_id = OBJ.object_id 
    INNER JOIN sys.schemas AS SCH 
        ON OBJ.schema_id = SCH.schema_id 
    LEFT JOIN sys.indexes AS IDX 
        ON PA.object_id = IDX.object_id 
           AND PA.index_id = IDX.index_id 

ORDER BY DS.name

       ,SCH.name 
       ,OBJ.name 

Estrazione del contenuto di una tabella tramite BCP

bcp [dbname].[schema].tabella out FileDiOutput.bcp -n -k -S SERVER\ISTANZA -T

Importazione in tabella tramite BCP

bcp [dbname].[schema].tabella in FileDiOutput.bcp -n -k -S SERVER\ISTANZA -T