2013-01-14 7 views
7

Ho cercato di impostare una pianificazione per eseguire una stored procedure ogni ora nell'utilità di pianificazione di Windows (poiché sto utilizzando SQL Express e non posso installare strumenti di terze parti) ma dopo aver provato vari metodi come eseguire un file .bat dall'utilità di pianificazione, aprire l'utilità SqlCmd dall'utilità di pianificazione e passare la sintassi della riga di comando o un file di script .sql, non ho fortuna.Esecuzione di una stored procedure utilizzando l'attività di pianificazione di Windows

So che questo può essere fatto e quindi sono sicuro che è qualcosa che ho perso ma se qualcuno può condividere la loro esperienza di questo lo apprezzerei molto.

Grazie mille

+1

L'utilizzo di sqlcmd sembra plausibile. Perché hai fallito su quello? –

+0

Sembra utile: http://stackoverflow.com/questions/3794897/need-help-to-write-bat-file-that-execute-sql-scripts-in-sql-server-2008-and-ano – sgeddes

+0

Che ne dici di il file .bat per eseguire SQLCMD non funziona? Dacci dei dettagli. – Mark

risposta

9

Se sei un amministratore per l'istanza SQL (Dal momento che si sta utilizzando SQLExpress Scommetto che sta cercando di fare questo sul proprio computer per cui v'è un'alta probabilità l'utente è un amministratore di l'istanza sql) non si dovrebbe usare -E affatto, basta ignorarlo.

Secondo, specificare il server anche se si sta lavorando su locale.

Inizia con un semplice comando SQL come di seguito:

sqlcmd.exe -S "" MY_DATABASE -d -Q "SELECT * FROM MY_TABLE"

Sostituire MY_DATABASE e MY_TABLE con il dbname e nome della tabella. Assicurati di poterlo eseguire dalla riga di comando. Dovrebbe restituire i dati dal tuo tavolo. (Attenzione le opzioni della riga di comando fanno distinzione tra maiuscole e minuscole così -s non è uguale a -S)

Infine, non tentare di alimentare i parametri tramite l'utilità di pianificazione. Metti il ​​comando con tutti i parametri in un file .bat e avvia il batch dall'utilità di pianificazione.

+0

No Ho collegato in remoto alla macchina su cui si trova il server SQL, non provando a farlo localmente. Darò un suggerimento al tuo suggerimento, ma riguardo al file batch - come apparirebbe quel file? – richardterris

+1

SQLExpress è configurato per negare le connessioni remote per impostazione predefinita. Sei sicuro di poter connettere a quel SQLExpress remoto dal tuo computer? Puoi provare con Management Studio ad esempio –

+0

Sì, posso collegarmi dallo studio di gestione sul mio computer – richardterris

-1

Recentemente ho avuto un problema simile e la mia esperienza potrebbe esservi d'aiuto. Stavo chiamando una piccola app, ad esempio EXE, da un file batch. Stavo programmando il file batch da eseguire dall'Utilità di pianificazione di Windows. L'app stava accedendo ai dati SQL usando l'autenticazione di Windows. Potrei eseguire direttamente l'app, ad esempio fare clic sul file EXE per eseguirlo. Potrei eseguire l'app dal file batch. Ma se ho provato a eseguire l'operazione pianificata sembrava iniziare ma non ha fatto niente e non ho postato errori che potrei trovare. Ho trovato se ho cambiato l'applicazione per l'esecuzione con l'autenticazione SQL che potrebbe essere eseguita dall'Utilità di pianificazione.

Sospetto che ci sia qualcosa nel contesto dell'autenticazione di Windows quando viene eseguito da Utilità di pianificazione che non è riconosciuta da SQL.

Problemi correlati