10 punti assicurati!!!! scrivere nei file acquisiti con lo scanner..??
ciao a tutti.. credo che per voi esperti queste domande siano una passaggiata, ma scusate la mia ignoranza.. <1' domanda>.. che programma posso usare per scrivere nei file acquisiti con lo scanner, (ho acquisito un modulo con lo scanner e volevo compilarlo ma con word nn funge... aiutoooo vi pregoo..grazie mille:):):)
<2' domanda> mi sapete dire dove viene salvato il file che contiene il conto alla rovescia dei giorni di prova dei programmi (intendo per i programmi che durano dai 7 ai 30 giorni..)
<3'domanda> ultima domanda " e poi vi lascio in pace:) "
mi dite il nome di un programma che dica la velocità a cui gira l'hard disk ( 5400 prm, 7200...) ok..le mie domande sono finite, scusate se nn mi sono espresso nel modo migliore percio vi prego di sforzarvi a interpretare cio che ho scritto:)
grazie mille 
ah dimenticavo.. siccome un mio amico ha reistallato il sistema operativo nel suo pc,ma nn ha i driver, come deve fare per sapere per esempio che scheda video ha??e gli altri?:)
per la prima domanda devi usare un software di riconoscimento ocr, cercando su google ne dovresti trovare, per la terza puoi utilizzare il software everest, per la seconda, varia da programma a programma

ciao
ah, percio ssd lo faccio diventare d:. anche se ci sono file windows tipo flight simulator 2020?

se vuoi essere piu' sicuro puoi anche clonarlo (di programmi ce ne sono a bizzeffe anche free) essendo di solo data puoi farlo da windows. Grazie per l'aiuto dopo vari tentativi,e accetando di installare anche quello che non mi interessava, la stampante e PC si riconoscono... 
  

  
SI il problema era solo tra stampante e PC...probabilmente dovevo accettare anche i suggerimenti aziendali.. Grazie ancora.... ciao,
  
prova con [TuneUp](https://it.ccm.net/download/scaricare-155-tuneup-utilities-2014) è shareware con periodo di prova di 30 giorni buongiornoio le consiglio di sottoporsi ad una routine ematica ( emocromo ves pcr  ferro ecc) il suo medico di fiducia saprà cosa scrivere.non appena avrà l'esito di questi me li comunichi.buona giornatadr ernani bussetta non saprei, a me le registra **Una risposta più breve:**

Probabilmente hai una transazione in esecuzione da molto tempo (manutenzione degli indici? Big batch delete o update?) O sei nella modalità di ripristino "predefinita" (più in basso su cosa si intende per impostazione predefinita) di`Full`e non ho preso un*registro di backup*(o non li stanno prendendo abbastanza frequentemente).

Se si tratta di un problema relativo al modello di recupero, la risposta semplice potrebbe essere Passa a`Simple`modalità di ripristino se non è necessario il ripristino puntuale e i backup regolari del registro.Molte persone, tuttavia, fanno sì che la loro risposta non comprenda modelli di recupero.Continua a leggere per capire perché è importante e poi decidere cosa fai.Potresti anche iniziare a prendere i backup del log e rimanere dentro`Full`recupero.

Potrebbero esserci altri motivi, ma questi sono i più comuni.Questa risposta inizia a tuffarsi nei due motivi più comuni e ti dà alcune informazioni di base sul perché e come dietro i motivi, oltre a esplorare altre ragioni.





**Una risposta più lunga:**Quali scenari possono far sì che il registro continui a crescere?Ci sono molte ragioni, ma in genere questi motivi sono dei seguenti due modelli: C'è un equivoco sui modelli di recupero o ci sono transazioni a lungo termine.Continua a leggere per i dettagli.

Motivo principale 1/2: non comprendere i modelli di recupero


(**Essendo in*Modalità di recupero completo*e non prendere*Registra i backup*- Questa è la ragione più comune - la stragrande maggioranza di coloro che hanno riscontrato questo problema sono.**)

Anche se questa risposta non è una profonda immersione nei modelli di recupero di SQL Server, l'argomento dei modelli di recupero è fondamentale per questo problema.

In SQL Server ce ne sono tre[recovery models](https://msdn.microsoft.com/en-us/library/ms189275.aspx):

* `Full`,
* `Bulk-Logged`e
* `Simple`.

Ignoreremo`Bulk-Logged`per ora diremo che è un modello ibrido e la maggior parte delle persone che fanno parte di questo modello sono lì per un motivo e comprendono modelli di recupero.

I due a cui teniamo e la loro confusione sono la causa della maggior parte dei casi di persone che hanno questo problema`Simple`e`Full`.

Intermission: recupero in generale


Prima di parlare dei modelli di recupero: parliamo del recupero in generale.Se vuoi approfondire ulteriormente questo argomento, leggi[Paul Randal's blog](http://www.sqlskills.com/blogs/paul/category/transaction-log.aspx)e tanti messaggi su di esso che vuoi.Per questa domanda, però:

1. Crash/Restart Recovery  
Uno scopo del file di registro delle transazioni è per*arresto anomalo/riavvio recupero*.Per il rollforward e il rollback del lavoro che è stato fatto (rolling forward/redo) prima di un arresto anomalo o riavvio e il lavoro che è stato avviato ma non terminato dopo un arresto anomalo o riavvio (rollback/annullamento).È il lavoro del log delle transazioni per vedere che una transazione è iniziata ma non è mai stata completata (rollback o crash/restart prima della transazione).In quella situazione è il lavoro del tronco da dire*"Ehi .. questo non è mai veramente finito, torniamo indietro"*durante il recupero.È anche compito del registro vedere che hai finito qualcosa e che alla tua applicazione client è stato detto che è stata completata (anche se non si è ancora consolidata nel tuo file di dati) e dire*"Ehi .. è successo davvero, facciamolo andare avanti, facciamo in modo che le applicazioni pensino che fosse"*dopo un riavvio.Ora c'è di più ma questo è lo scopo principale.
2. Punto in tempo di recupero  
L'altro scopo per un file di registro delle transazioni è di essere in grado di darci la possibilità di ripristinare a*punto nel tempo*a causa di un "oops" in un database o per garantire un punto di ripristino in caso di un guasto hardware che coinvolge i dati e/o file di registro di un database.Se questo registro delle transazioni contiene i record delle transazioni che sono state avviate e completate per il ripristino, SQL Server può e quindi utilizza queste informazioni per ottenere un database nel punto in cui si trovava prima che si verificasse un problema.Ma non è sempre un'opzione disponibile per noi.Per farlo funzionare dobbiamo avere il nostro database nel giusto*modello di recupero*e dobbiamo prendere*registrare i backup*.

Modelli di recupero


Sui modelli di recupero:

* Modello di recupero semplice  
Quindi, con l'introduzione sopra, è più facile parlare`Simple Recovery`prima il modello.In questo modello, stai dicendo a SQL Server:*"Sto bene con te usando il tuo file di registro delle transazioni per crash e riavvio recupero ..."*(Non hai davvero scelta lì. Guarda in alto[ACID properties](https://stackoverflow.com/questions/6633808/sql-server-and-acid-property-of-database)e questo dovrebbe avere un senso rapidamente.)*"... ma una volta che non ne hai più bisogno per quel crash/riavvio scopo di recupero, vai avanti e riutilizzare il file di registro."*

SQL Server ascolta questa richiesta in Simple Recovery e conserva solo le informazioni di cui ha bisogno per eseguire il crash/riavvio del ripristino.Una volta che SQL Server è sicuro che può essere ripristinato perché i dati sono induriti nel file di dati (più o meno), i dati che sono stati rafforzati non sono più necessari nel log e sono contrassegnati per il troncamento, il che significa che vengono riutilizzati.
* Modello di recupero completo  
Con`Full Recovery`, si sta dicendo a SQL Server che si desidera essere in grado di eseguire il ripristino in un momento specifico, purché il file di registro sia disponibile o in un momento specifico coperto da un backup del registro.In questo caso, quando SQL Server raggiunge il punto in cui sarebbe sicuro troncare il file di registro in Simple Recovery Model, non lo farà.Anziché**Permette al file di registro di continuare a crescere**e gli permetterà di continuare a crescere,***finché non si esegue un backup del registro***(o esaurito lo spazio sull'unità del file di registro) in circostanze normali.

 Passare da semplice a pieno ha un Gotcha.

Ci sono regole ed eccezioni qui.Di seguito parleremo delle transazioni a lungo termine.

Ma un avvertimento da tenere a mente per la modalità di recupero completo è questo: se si passa a`Full Recovery`modalità, ma mai fare un backup completo iniziale, lo farà SQL Server**non**onora la tua richiesta di essere presente`Full Recovery`modello.Il registro delle transazioni continuerà a funzionare come nel`Simple`fino a quando non si passa al modello di recupero completo e si prende il primo`Full Backup`.

Il modello di recupero completo senza backup del log non è corretto.


Quindi, questa è la ragione più comune per la crescita incontrollata del registro?Risposta: Essere in modalità di recupero completo senza avere alcun backup di registro.

Questo succede**tutti**il tempo per le persone.

 Perché questo è un errore così comune?

Perché succede sempre?Poiché ogni nuovo database ottiene le impostazioni iniziali del modello di recupero esaminando il database del modello.

L'impostazione del modello di recupero iniziale del modello è sempre`Full Recovery Model`- fino a quando ea meno che qualcuno lo cambi.Quindi potresti dire che "il modello di recupero predefinito" è`Full`.Molte persone non ne sono a conoscenza e hanno i loro database in esecuzione`Full Recovery Model`senza backup di log e quindi un file di registro delle transazioni molto più grande del necessario.Questo è il motivo per cui è importante modificare i valori predefiniti quando non funzionano per la tua organizzazione e le sue esigenze)

Il modello di recupero completo con troppo pochi backup del log non è corretto.


Puoi anche metterti nei guai qui non tenendo abbastanza spesso i backup dei log.  
L'esecuzione di un backup del log al giorno può sembrare un problema, ma richiede un ripristino con meno comandi di ripristino, ma tenendo presente la discussione precedente, il file di registro continuerà a crescere e crescere fino a quando non si eseguono i backup del log.

 Come faccio a sapere di quale frequenza di backup del registro ho bisogno?

È necessario considerare la frequenza di backup del registro tenendo presenti due aspetti:

1. **Bisogni di recupero**- Si spera che questo sia il primo.Nel caso in cui l'unità contenente il registro delle transazioni non funzioni correttamente o si verifichi un danneggiamento grave che influisce sul backup del registro, quanti dati possono essere persi?Se il numero non supera i 10-15 minuti, è necessario eseguire il backup del registro ogni 10-15 minuti, fine della discussione.
2. **Registra la crescita**- Se la tua organizzazione sta andando bene a perdere più dati a causa della possibilità di ricreare facilmente quel giorno, potresti avere un backup del registro molto meno frequente di 15 minuti.Forse la tua organizzazione sta bene ogni 4 ore.Ma devi vedere quante transazioni generate in 4 ore.La possibilità che il registro continui a crescere in quelle quattro ore rende troppo grande un file di registro?Ciò significa che i backup del log richiedono troppo tempo?





Motivo principale 2/2: Transazioni lunghe


(**"Il mio modello di recupero va bene! Il registro sta ancora crescendo!**)

Questo può anche essere una causa di crescita del log incontrollata e sfrenata.Non importa il modello di recupero, ma spesso si presenta come*"Ma sono in Simple Recovery Model - perché il mio registro continua a crescere ?!"*

Il motivo è semplice: se SQL sta utilizzando questo log delle transazioni per scopi di recupero come descritto sopra, allora deve ricominciare dall'inizio di una transazione.

Se una transazione richiede molto tempo o esegue molte modifiche, il registro non può troncare sul checkpoint per nessuna delle modifiche ancora presenti nelle transazioni aperte o avviate da quella transazione.

Ciò significa che una grande eliminazione, l'eliminazione di milioni di righe in una istruzione di eliminazione è una transazione e il registro non può eseguire troncamenti finché non viene eseguita l'eliminazione completa.Nel`Full Recovery Model`, questa eliminazione viene registrata e potrebbero essere presenti molti record di registro.Stessa cosa con il lavoro di ottimizzazione dell'indice durante le finestre di manutenzione.Significa anche che una cattiva gestione delle transazioni e la mancata osservanza e chiusura di transazioni aperte possono davvero danneggiare te e il tuo file di registro.

Cosa posso fare per queste transazioni a lungo termine?


Puoi salvarti qui da:

* Dimensionamento corretto del file di registro per tenere conto dello scenario peggiore, ad esempio la manutenzione o le operazioni note più importanti.E quando cresci il tuo file di log dovresti guardare a questo[guidance](http://www.sqlskills.com/blogs/kimberly/post/8-steps-to-better-transaction-log-throughput.aspx)(e i due link che ti invia) di Kimberly Tripp.Il giusto dimensionamento è super critico qui.
* Guardando il tuo utilizzo delle transazioni.Non avviare una transazione nel server delle applicazioni e iniziare lunghe conversazioni con SQL Server e rischiare di lasciarne aperta una troppo lunga.
* Guardando il*transazioni implicite*nelle tue istruzioni DML.Per esempio:`UPDATE TableName Set Col1 = 'New Value'`è una transazione.Non ho messo un`BEGIN TRAN`lì e io non devo, è ancora una transazione che si impegna automaticamente quando fatto.Pertanto, se si eseguono operazioni su un numero elevato di righe, considerare la possibilità di raggruppare tali operazioni in blocchi più gestibili e fornire il tempo di registrazione per il ripristino.Oppure considera la giusta dimensione per affrontarlo.O forse esaminare i modelli di recupero che cambiano durante una finestra di caricamento di massa.





Queste due ragioni si applicano anche alla spedizione dei log?


Risposta breve: sì.Risposta più lunga di seguito.

Domanda:*"Sto utilizzando la distribuzione dei log, quindi i miei backup dei log sono automatizzati ... Perché continuo a vedere la crescita del log delle transazioni?"*

Risposta: continua a leggere.

Cos'è il log shipping?


La distribuzione dei log è proprio come sembra - stai spedendo i tuoi backup del log delle transazioni su un altro server per scopi di DR.C'è un po 'di inizializzazione, ma dopo questo il processo è abbastanza semplice:

* Un lavoro per il backup del log su un server,
* un lavoro per copiare quel backup del registro e
* un lavoro per ripristinarlo senza recupero (neanche`NORECOVERY`o`STANDBY`) sul server di destinazione.

Ci sono anche alcuni lavori da monitorare e avvisare se le cose non vanno come le hai pianificate.

In alcuni casi, è possibile eseguire il ripristino del log shipping solo una volta al giorno o ogni tre giorni o una volta alla settimana.Questo va bene.Ma se si apporta questa modifica a tutti i lavori (compresi i processi di backup e copia del registro), significa che si sta aspettando tutto il tempo necessario per eseguire un backup del registro.Ciò significa che avrai un sacco di crescita dei log, perché lo sei*in modalità di recupero completo senza backup del registro*- e probabilmente significa anche un grande file di log da copiare.È necessario modificare solo la pianificazione del processo di ripristino e lasciare che i backup e le copie del registro avvengano su una base più frequente, altrimenti si risentirebbe del primo problema descritto in questa risposta.





Risoluzione dei problemi generali tramite codici di stato


Ci sono ragioni diverse da queste due, ma queste sono le più comuni.Indipendentemente dalla causa: c'è un modo per analizzare la ragione di questa crescita del log inspiegabile/mancanza di troncamenti e vedere cosa sono.

Con l'interrogazione del[`sys.databases`](https://msdn.microsoft.com/en-us/library/ms178534.aspx)visualizzazione del catalogo è possibile visualizzare le informazioni che descrivono il motivo per cui il file di registro potrebbe essere in attesa di troncare/riutilizzare.

C'è una colonna chiamata`log_reuse_wait`con un ID di ricerca del codice motivo e a`log_reuse_wait_desc`colonna con una descrizione del motivo di attesa.Dall'articolo in linea dei libri di riferimento sono la maggior parte dei motivi (quelli che è probabile vedere e quelli che possiamo spiegare i motivi. I missing sono fuori uso o per uso interno) con alcune note sull'attesa in*corsivo*:

* 0 = Niente  
*Quello che sembra .. Non dovrebbe essere in attesa*
* 1 = Checkpoint  
*In attesa che si verifichi un checkpoint.Questo dovrebbe accadere e dovresti stare bene - ma ci sono alcuni casi da cercare qui per risposte successive o modifiche.*
* 2 = backup del registro  
*Stai aspettando che si verifichi un backup del log.O li hai programmati e succederà presto, o hai il primo problema descritto qui e ora sai come risolverlo*
* 3 = backup o ripristino attivo  
*Un'operazione di backup o ripristino è in esecuzione sul database*
* 4 = Transazione attiva  
C'è una transazione attiva che deve essere completata (in entrambi i casi -`ROLLBACK`o`COMMIT`) prima che il log possa essere sottoposto a backup.Questa è la seconda ragione descritta in questa risposta.
* 5 = mirroring del database  
*O uno specchio si trova dietro o sotto una certa latenza in una situazione di mirroring ad alte prestazioni o il mirroring viene messo in pausa per qualche motivo*
* 6 = Replica  
*Ci possono essere problemi con la replica che causerebbero questo - come un agente di log reader non in esecuzione, un database che pensa che sia contrassegnato per la replica che non è più e vari altri motivi.Puoi anche vedere questo motivo ed è perfettamente normale perché stai guardando al momento giusto, proprio come le transazioni vengono consumate dal log reader*
* 7 = Creazione di snapshot del database  
*Stai creando un'istantanea del database, lo vedrai se guardi al momento giusto mentre viene creata un'istantanea*
* 8 = Scansione registro  
*Devo ancora incontrare un problema con questo che corre da sempre.Se si guarda abbastanza a lungo e abbastanza frequentemente è possibile vedere che ciò accada, ma non dovrebbe essere una causa di una crescita eccessiva del registro delle transazioni, che ho visto.*
* 9 = Una replica secondaria di Gruppi di disponibilità AlwaysOn applica i record del registro delle transazioni di questo database a un database secondario corrispondente.*A proposito della descrizione più chiara ancora ..* salve, ci sono vari programmi di editing audio per realizzare sonorità del genere compresi lo sweeping e la modalità di visualizzazione spettrografica, alcuni gratuiti, altri a pagamento. uno dei migliori a pagamento è sicuramente adobe audition, invece uno gratuito tra i migliori è audacity. tra quelli che noi consigliamo ci sono anche avs audio editor, cool edit pro 2 e steinberg wavelab. trova l'elenco dei suddetti software applicativi con i relativi link per il download alla pagina laboratorio: http://lab.sublimen.com saluti alan <p>esistono diversi metodi per ottenere un piano di esecuzione, che uno da utilizzare dipenderà dalle circostanze. in genere è possibile utilizzare sql server management studio per ottenere un piano, tuttavia se per qualche motivo non è possibile eseguire la query in sql server management studio, potrebbe essere utile essere in grado di ottenere un piano tramite sql server profiler o ispezionando la cache del piano.</p><h2>metodo 1: utilizzo di sql server management studio</h2><p>sql server è dotato di un paio di funzionalità intuitive che rendono molto semplice l'acquisizione di un piano di esecuzione, semplicemente assicurati che la voce di menu &quot;includi piano di esecuzione effettivo&quot; (presente nel menu &quot;query&quot;) sia spuntata ed esegui la query come normale .</p><p><img src="https://i.stack.imgur.com/0icgu.png" alt="include action execution plan menu item"></p><p>se si sta tentando di ottenere il piano di esecuzione per le istruzioni in una stored procedure, è necessario eseguire la stored procedure, in questo modo:</p><pre><code>exec p\_example 42 </code></pre><p>una volta completata la tua query, dovresti visualizzare una scheda aggiuntiva intitolata &quot;piano di esecuzione&quot; nel riquadro dei risultati. se hai eseguito molte affermazioni, potresti vedere molti piani visualizzati in questa scheda.</p><p><img src="https://i.stack.imgur.com/ihkoe.png" alt="screenshot of an execution plan"></p><p>da qui è possibile ispezionare il piano di esecuzione in sql server management studio oppure fare clic con il tasto destro del mouse sul piano e selezionare &quot;salva piano di esecuzione con nome ...&quot; per salvare il piano in un file in formato xml.</p><h2>metodo 2 - utilizzo delle opzioni showplan</h2><p>questo metodo è molto simile al metodo 1 (in realtà questo è ciò che sql server management studio esegue internamente), tuttavia l'ho incluso per completezza o se non è disponibile sql server management studio.</p><p>prima di eseguire la query, eseguire <strong>uno</strong>delle seguenti affermazioni. l'istruzione deve essere l'unica dichiarazione nel batch, cioè non è possibile eseguire un'altra istruzione allo stesso tempo:</p><pre><code>set showplan\_text on set showplan\_all on set showplan\_xml on set statistics profile on set statistics xml on -- the is the recommended option to use </code></pre><p>queste sono opzioni di connessione e quindi è necessario eseguirlo solo una volta per connessione. da questo punto in poi tutte le istruzioni eseguite saranno accompagnate da un <strong>set di risultati aggiuntivi</strong>contenente il piano di esecuzione nel formato desiderato - è sufficiente eseguire la query come si farebbe normalmente per vedere il piano.</p><p>una volta che hai finito puoi disattivare questa opzione con la seguente dichiarazione:</p><pre><code>set &lt;&lt;option&gt;&gt; off </code></pre><h3>confronto dei formati del piano di esecuzione</h3><p>a meno che tu non abbia una forte preferenza, la mia raccomandazione è di usare l'opzione <code>statistics xml</code>. questa opzione è equivalente all'opzione &quot;includi piano di esecuzione effettivo&quot; in sql server management studio e fornisce la maggior parte delle informazioni nel formato più conveniente.</p><ul> <li><code>showplan\_text</code>: visualizza un piano di esecuzione stimato basato sul testo base, senza eseguire la query</li> <li><code>showplan\_all</code>: visualizza un piano di esecuzione stimato basato su testo con stime dei costi, senza eseguire la query</li> <li><code>showplan\_xml</code>: visualizza un piano di esecuzione stimato basato su xml con stime dei costi, senza eseguire la query. questo è equivalente all'opzione &quot;visualizza piano di esecuzione stimato ...&quot; in sql server management studio.</li> <li><code>statistics profile</code> - esegue la query e visualizza un piano di esecuzione effettivo basato sul testo.</li> <li><code>statistics xml</code> - esegue la query e visualizza un piano di esecuzione effettivo basato su xml. ciò equivale all'opzione &quot;includi piano di esecuzione effettiva&quot; in sql server management studio.</li> </ul><h2>metodo 3 - utilizzo di sql server profiler</h2><p>se non è possibile eseguire direttamente la query (o la query non viene eseguita lentamente quando viene eseguita direttamente - ricordare che vogliamo un piano di esecuzione della query non valido), è possibile acquisire un piano utilizzando una traccia di sql server profiler. l'idea è di eseguire la tua query mentre è in esecuzione una traccia che sta catturando uno degli eventi &quot;showplan&quot;.</p><p>si noti che a seconda del carico si <strong>può</strong>utilizzare questo metodo in un ambiente di produzione, tuttavia è necessario prestare attenzione. i meccanismi di definizione dei profili di sql server sono progettati per minimizzare l'impatto sul database ma ciò non significa che non be <em>any</em> impatto sulle prestazioni.potresti anche avere problemi nel filtrare e identificare il piano corretto nella tua traccia se il tuo database è in uso intensivo. dovresti ovviamente controllare con il tuo dba per vedere se sono contenti di averlo fatto sul loro prezioso database!</p><ol> <li>aprire sql server profiler e creare una nuova traccia connettendosi al database desiderato rispetto al quale si desidera registrare la traccia.</li> <li>sotto la scheda &quot;selezione eventi&quot; seleziona &quot;mostra tutti gli eventi&quot;, controlla la riga &quot;prestazioni&quot; -&gt; &quot;showplan xml&quot; ed esegui la traccia.</li> <li>mentre la traccia è in esecuzione, fare tutto ciò che è necessario per eseguire la query a esecuzione lenta.</li> <li>attendi il completamento della query e interrompi la traccia.</li> <li>per salvare la traccia, fare clic con il pulsante destro del mouse su xml del piano in sql server profiler e selezionare &quot;estrai dati evento ...&quot; per salvare il piano in file in formato xml.</li> </ol><p>il piano che ottieni è equivalente all'opzione &quot;includi piano di esecuzione effettivo&quot; in sql server management studio.</p><h2>metodo 4 - ispezione della cache delle query</h2><p>se non è possibile eseguire direttamente la query e non è possibile acquisire una traccia di profiler, è comunque possibile ottenere un piano stimato ispezionando la cache del piano di query sql.</p><p>esaminiamo la cache del piano interrogando sql server <a href="http://msdn.microsoft.com/en-us/library/ms188754.aspx">dmvs</a> . la seguente è una query di base che elencherà tutti i piani di query memorizzati nella cache (come xml) insieme al loro testo sql. nella maggior parte dei database sarà necessario aggiungere ulteriori clausole di filtro per filtrare i risultati fino ai soli piani a cui si è interessati.</p><pre><code>select usecounts, cacheobjtype, objtype, text, query\_plan from sys.dm\_exec\_cached\_plans cross apply sys.dm\_exec\_sql\_text(plan\_handle) cross apply sys.dm\_exec\_query\_plan(plan\_handle) </code></pre><p>esegui questa query e fai clic sul piano xml per aprire il piano in una nuova finestra - fai clic con il pulsante destro e seleziona &quot;salva piano di esecuzione come ...&quot; per salvare il piano in file in formato xml.</p><h1>gli appunti:</h1><p>poiché ci sono così tanti fattori coinvolti (che vanno dalla tabella e dallo schema dell'indice fino ai dati archiviati e alle statistiche della tabella) dovresti <strong>sempre</strong>prova ad ottenere un piano di esecuzione dal database che ti interessa (normalmente quello che sta vivendo un problema di prestazioni).</p><p>non è possibile acquisire un piano di esecuzione per le stored procedure crittografate.</p><h2>piani di esecuzione &quot;effettivi&quot; o &quot;stimati&quot;</h2><p>un piano di esecuzione <em>effettivo</em> è uno in cui sql server esegue effettivamente la query, mentre un <em>stimato</em>piano di esecuzione sql server elabora ciò che <em>would</em> fa senza eseguire la query. sebbene logicamente equivalente, un piano di esecuzione reale è molto più utile in quanto contiene ulteriori dettagli e statistiche su ciò che effettivamente è accaduto durante l'esecuzione della query. questo è essenziale quando si diagnosticano problemi in cui le stime di sql server non sono attive (ad esempio quando le statistiche non sono aggiornate).</p><ul> <li> <a href="http://sqlserverpedia.com/blog/sql-server-bloggers/estimated-and-actual-execution-plan-revisited/">piano di esecuzione stimato ed effettivo rivisto</a> </li> </ul><h2>come interpreto un piano di esecuzione della query?</h2><p>questo è un argomento degno di un (gratuito) <a href="https://www.simple-talk.com/books/sql-books/sql-server-execution-plans-second-edition-by-grant-fritchey/">libro</a> a sé stante.</p><h2>guarda anche:</h2><ul> <li> <a href="http://www.simple-talk.com/sql/performance/execution-plan-basics/">basi del piano di esecuzione</a> </li> <li> <a href="http://msdn.microsoft.com/en-us/library/ms178086.aspx">showplan batch di permessi e transact-sql</a> </li> <li> <a href="http://www.dbsnaps.com/sql-server/sql-server-query-hashes/">sql server 2008 - utilizzo degli hash di query e degli hash del piano di query</a> </li> <li> <a href="http://www.mssqltips.com/sqlservertip/1661/analyzing-the-sql-server-plan-cache/">analisi di sql server plan cache</a> </li> </ul> <p>ci sono un paio di modi in cui potresti farlo, mi viene in mente quella primavera</p><p>il primo sarebbe usare la ricerca che mostrerà exploit che corrispondono al termine di ricerca, (ad esempio, il file di ricerca cerca i moduli che corrispondono a quel termine. l'altro era usare il completamento della scheda, quindi se si digita:</p><p><code>use exploit/windows/fileformat/</code> e poi premi <kbd>tab</kbd>. scorrerà tutti gli exploit in quella cartella.</p> <p>il modo standard è con <code>wc</code>, che accetta argomenti per specificare cosa dovrebbe contare (byte, caratteri, parole, ecc.); <code>-l</code> è per le righe:</p><pre><code>$ wc -l file.txt 1020 file.txt </code></pre>