Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

MSSQL:Operazioni dall IDE

From Aino Wiki

Jump to: navigation, search

IDE

Skin

Di default lo Skin Dark è disabilitato, seguono i passi per abilitarlo. Le impostazioni sono su un file "ssms.pkgundef" che è nella cartella di installazione di SSMS, che per la versione 18.1.3 è:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE.

  • Chiudere l'IDE
  • Aprire il file con Notepad in modalità 'amministratore' ed andare sull'ultima riga
  • Commentare con // il rigo successivo a quello con "// Remove Dark theme"

Shortcut da tastiera

Come dal sito di Microsoft per SQL Server 2014:

Result Panel

Come nascondere e rivisualizzare il result panel ovvero la gliglia con i risultati di una query:
CTRL + R
Purtroppo con Microsoft Management Studio 2014 hanno eliminato questa scorciatoia ecco come riattivarla:

  • Menu principale: Tools\Options
  • Selezionare Keyboard
  • Cliccare sul pulsante in alto a dx: "Reset"
  • Confermare il desiderio / speranza di resettare tutti gli shortcut

Risultato ottenuto !!!

Operazioni complesse

Comparazione di 2 DB

Come comparare due database e generare lo script di cambiamento.
Senza acquistare tool di terze parti, è possibile usare Visual Studio o SSDT. Andare dal menu principale ed aprire: Tools\SQL Server\New Schema Comparison...

Comparazione DB 01.png

Si selezionano i due DB che potranno anche essere su server differenti

Comparazione DB 02.png

selezionare il pulsante "Compare" in alto a SX. Dopo l'elaborazione si avrà come segue:

Comparazione DB 03.png

Nel riquadro di SX le differenze sono raggruppate sotto tre operazioni tipo: Cancellazione, Modifica ed Aggiunta. Selezionando un elemento, nelle finestre sotto stanti si evidenziano le differenze tra sorgente e destinazione.

Schedulazioni

Dall'IDE, SSMS, la funzionalità è accessibile dalla cartella "Management" poi nella sottocartella "Maintenance Plans".
Ogni attività di schedulazione è legata al SQL server Agent che in realtà è un servizio che come impostazione di default è disattivato. Per attivarlo si deve agire sul servizio SQL Server Agent service e renderlo attivo e in Automatico allo startup di windows. Segue la procedura per impostarne l'esecuzione:

  • Eseguire dal prompt comandi: services.msc;
  • Cercare il servizio: SQL Server Agent;
  • Impostarlo che si avvii in automatico.

Maintenance Plan

Backup del DataBase

SISS Maintenance Plan.png

Per implementare la circolarità del backup ovvero trattenere solo un ultimo set cancellando di volta in volta i backup più vecchi occorre impostare la RETENTION ma non basta bisogna usare l'opzione "Backup databases across one or more files", allora all'interno dell'unico file si può impostare che riguardi più databases.
Per migliorare le performances si può usare più di un files (Info: mssqltips):

Task maintenance bacup single o more file bkp set.png
Materiale
BACKUP DATABASE Digitalk_DBs TO DISK = 'D:\Digitalk.bak' WITH RETAINDAYS = 2
  • Tutorial su SQL Server 2008 R2
  • ATTENZIONE al parametro RETAINDAYS (giorni di mantenimento) che non vuol dire che i files di backup creati vengono cancellati dal file system se troppo vecchi\scaduti. Leggere qui: karaszi. In pratica per realizzare con qs tool standard la rotazione del backup occorrerà usare l'opzione "Backup databases across one or more files", che consente di creare un set di backup databases, un unico files con molti DB.

Errori e soluzioni

15404

"Unable to determine if the owner (domain\CurrentUser) of job JobName has server access (reason: Could not obtain information about Windows NT group/user 'domain\CurrentUser'"

Si risolve impostando un adeguato OWNER con cui verrà eseguito il Job, provare con [sa].

Job

Argomento disponibile al link interno: Wiki Aino jobs


Accesso a DB Server

Come indicare la porta

  • Da ObjectExplorer cliccare su "Connect"
  • Selezionare Database engine
  • Nel popup visualizzato indicare server name facendo seguire dalla porta separandoli con una VIRGOLA: nomeserver,porta

Refresh Oggetti del DB

Ottenibile mediante lo shortcut è CTRL + SHIFT + R oppure seguire quanto segue:

SQL Management Studio update objects.png

VALE per SQL Server management Studio 2014!
Modifiche a tabelle, store procedure, viste non ha effetto immediato nel IDE, in particolare nell'editing delle query in cui si segnalano errori inesistenti.
Segue come aggiungere un pulsante in toolbar per aggiornare l'ambiente:

  • Menu principale scegliere "Tools"
  • Poi "customize"
  • Selezionare il TAB "Commands" poi sul radio "Toolbar"
  • Selezionare dalla DropDownList "SQL Editor" (è una lista lunga per cui scorrere in sotto con pazienza)
  • Click sul pulsante "Add Command"
  • Dalla lita selezionare "Edit"
  • Selezionare l'icona "Refresh local cache" (è in sotto)

Creazione di Script

Script creazione DB

Dalla finestra di sx "Object Explorer":

  • selezionare il DB cliccandoci su col tasto destro,
  • selezionare "Task"
  • infine "Generate Scripts ...".

si apre un wizard per completare l'operazione richiesta.
Occhio che alle opzioni, si può scegliere cosa scriptare es tabelle + viste + storeproceduere + functions e se scriptare creazione Indici, se DROPpare il DB e ricrearlo, se creare script compatibili con vecchie versioni, se scriptare creazione dei dati e\o della sola struttura, etc

In alternativa, dopo la selezione del database, si poteva scegliere la voce "Script" dal menu contestuale ma questo consente di creare script puntuali quindi se creare solo il DB o solo le singole tabelle \ viste

Script creazione DB ed Export di dati

Caso più frequente è quello di creare Tabelle, StoreProcedure, Viste e funzioni ed in più copiare i dati mediante script di inserimento in tabella (INSERT INTO ...). L'operazione è eseguibile in tre passi e vale per SQL Server Management Studio 2012 (SSMS 2012)
ScriptExportDati 01.png
ScriptExportDati 02.png

Attenzione che per grosse moli di dati converrebbe selezionare "Single file per object".

ATTENZIONE, quando solo script va oltre i 30 Mbyte converrà spaccare il file di script generato in più file (questo manualmente, visto che SQL Server non lo prevede nonostante vada in errore per overflow della memoria)

ScriptExportDati 03.png

Mappa e Link


MS SQL | Tips

Author Giuseppe AINO