Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Errore eseguendo una query (Procedura sp_OACreate)
mercoledì 22 marzo 2006 - 22.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
mer 22 mar 2006 - 22:02
Salve a tutti,
vi propongo questo errore che mi da il sql server express lanciando una query che dovrebbe, di fatto, fare un backup del db.
Msg 15501, Level 16, State 1, Procedure sp_OACreate, Line 1
This module has been marked OFF. Turn on 'Ole Automation Procedures' in order to be able to access the module.
Tutte le procedure sp_OAxxxxx danno questo errore. Ho provato a cercare su internet come markare su ON i moduli (come indicato dall'errore) ma non ho trovato davvero nulla.
Sapreste dirmi come fare?
Visto che ci siamo vi chiedo anche un'altra cosa: c'è qualche controindicazione se opero in questo modo:
1. faccio lo shrink del db e del file di log
2. faccio il backup del db
E' necessario fare anche il backup del log?
Grazie a tutti
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 22 mar 2006 - 22:28
>vi propongo questo errore che mi da il sql server express lanciando
>una query che dovrebbe, di fatto, fare un backup del db.
Ciao escaflowne,
le stored procedures sp_OA* costituiscono un discutibile metodo per istanziari classi COM e sftuttarne i relativi metodi all'interno di script T-SQL.
Per quale motivo utilizzi una tecnica deprecata quando puoi ricorrere ad un banalissimo BACKUP DATABASE per effettuare il backup completo del tuo db?
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ba-bz_35ww.asp
>Visto che ci siamo vi chiedo anche un'altra cosa: c'è qualche
>controindicazione se opero in questo modo:
>1. faccio lo shrink del db e del file di log
>2. faccio il backup del db
Quando effettui il backup del database andrai a copiase *solo* i dati effettivamente presenti nei tuoi data files (.mdf e .ndf) ed una parte del transaction log (.ldf) necessaria per consentire in fase di ripristino uno stato consistente del db.
Se ad esempio il tuo .mdf ha 20MB di spazio allocato ma non occupato da dati, non verrà inserito nel file di backup.
Ti sconsiglio di effettuare lo shrink del database o del transaction log (a meno che per non curanza le sue dimensioni siano cresciute in modo considerevole) perché questa operazione oltre a frammentare fisicamente i files nel caso in cui vengano nuovamente espansi, frammentano PESANTEMENTE gli indici eventualmente definiti sulle colonne, causando un degrado di performance se non deframmentati a dovere.
>E' necessario fare anche il backup del log?
Dipende dalla politica di backup che vuoi implementare.
I Books Online descrivono minuziosamente le varie possibilità di backup offerte da SQL Server:
"Backup/Restore Architecture"
http://msdn.microsoft.com/library/en-us/architec/8_ar_aa_9iw5.asp
"Backing Up and Restoring Databases"
http://msdn.microsoft.com/library/en-us/adminsql/ad_bkprst_9zcj.asp
Eventualmente se sei costretto a compattare il transaction log, leggi questo tip:
http://www.dotnethell.it/tips/ShrinkTLOGSql2000.aspx
>Grazie a tutti
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
gio 23 mar 2006 - 07:48
Prima di tutto ti ringrazio per la risposta dettagliata
>>vi propongo questo errore che mi da il sql server express lanciando
>>una query che dovrebbe, di fatto, fare un backup del db.
>
>Ciao escaflowne,
>
>le stored procedures sp_OA* costituiscono un discutibile metodo
>per istanziari classi COM e sftuttarne i relativi metodi all'interno
>di script T-SQL.
>Per quale motivo utilizzi una tecnica deprecata quando puoi ricorrere
>ad un banalissimo BACKUP DATABASE per effettuare il backup completo
>del tuo db?
>
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ba-bz_35ww.asp
>
Dato che uso sql server express (che non ha un agent incluso) avevo trovato uno script tsql per schedulare un backup. Purtroppo mi da questo errore quindi cambio strategia, avevo pensato a due metodi ma uno, stranamente, non è percorribile.
Ho creato uno script di backup con le opzioni desiderate (direttamente dal sql server managment studio express ctp) e pensavo di metterlo nello schedule di windows (lanciandolo con sqlcmd). Il problema è che lanciando da riga di comando sqlcmd (con qualunque script) mi si pianta! (proprio come errore dell'applicazione).
Allora ho creato uno script wsh che fa il backup del db
Più che altro volevo capire come mai di questi errori
>>Visto che ci siamo vi chiedo anche un'altra cosa: c'è qualche
>>controindicazione se opero in questo modo:
>>1. faccio lo shrink del db e del file di log
>>2. faccio il backup del db
>
>Quando effettui il backup del database andrai a copiase *solo*
>i dati effettivamente presenti nei tuoi data files (.mdf e .ndf)
>ed una parte del transaction log (.ldf) necessaria per consentire
>in fase di ripristino uno stato consistente del db.
>Se ad esempio il tuo .mdf ha 20MB di spazio allocato ma non occupato
>da dati, non verrà inserito nel file di backup.
>
qui tutto chiaro
>Ti sconsiglio di effettuare lo shrink del database o del transaction
>log (a meno che per non curanza le sue dimensioni siano cresciute
>in modo considerevole) perché questa operazione oltre a frammentare
>fisicamente i files nel caso in cui vengano nuovamente espansi,
>frammentano PESANTEMENTE gli indici eventualmente definiti sulle
>colonne, causando un degrado di performance se non deframmentati
>a dovere.
>
ok, informazioni molto interessante, a limite potrei impostare uno shrink in funzione della dimensione dei due file mdf e ldf
>>E' necessario fare anche il backup del log?
>Dipende dalla politica di backup che vuoi implementare.
>I Books Online descrivono minuziosamente le varie possibilità
>di backup offerte da SQL Server:
>
>"Backup/Restore Architecture"
>
http://msdn.microsoft.com/library/en-us/architec/8_ar_aa_9iw5.asp
>
>"Backing Up and Restoring Databases"
>
http://msdn.microsoft.com/library/en-us/adminsql/ad_bkprst_9zcj.asp
>
>Eventualmente se sei costretto a compattare il transaction log,
>leggi questo tip:
>
http://www.dotnethell.it/tips/ShrinkTLOGSql2000.aspx
>
>>Grazie a tutti
>Prego.
>
>Ciao!
>
leggerò con attenzione. Grazie
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>
http://blogs.dotnethell.it/lorenzo/
>
http://italy.mvps.org
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
gio 23 mar 2006 - 09:28
scusate l'ignoranza......
ma faccio lo shrink del db e del file di log ,cosa è lo shrink ???
C'è solo un capitano !!!!!!
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
gio 23 mar 2006 - 10:58
>scusate l'ignoranza......
>
>ma faccio lo shrink del db e del file di log ,cosa è lo shrink
>???
>C'è solo un capitano !!!!!!
lo shrink altro non è che compattare il database e/o il file log per recuperare dello spazio inutilmente occupato.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 23 mar 2006 - 12:06
>Dato che uso sql server express (che non ha un agent incluso)
>avevo trovato uno script tsql per schedulare un backup. Purtroppo
>mi da questo errore quindi cambio strategia, avevo pensato a
>due metodi ma uno, stranamente, non è percorribile.
>Ho creato uno script di backup con le opzioni desiderate (direttamente
>dal sql server managment studio express ctp) e pensavo di metterlo
>nello schedule di windows (lanciandolo con sqlcmd). Il problema
>è che lanciando da riga di comando sqlcmd (con qualunque script)
>mi si pianta! (proprio come errore dell'applicazione).
>Allora ho creato uno script wsh che fa il backup del db
>Più che altro volevo capire come mai di questi errori
Ciao escaflowne,
lo scheduling di un task in windows che esegue i backup tramite sqlcmd è probabilmente il metodo migliore per sopperire alla mancanza del SQL Server Agent in SQL Server 2005 Express.
Il fatto che ti si pianti invece non è normale. Che errore ricevi? Hai strani messaggi di warning/errore nell'Event Viewer?
>leggerò con attenzione. Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
gio 23 mar 2006 - 12:35
>Ciao escaflowne,
>
>lo scheduling di un task in windows che esegue i backup tramite
>sqlcmd è probabilmente il metodo migliore per sopperire alla
>mancanza del SQL Server Agent in SQL Server 2005 Express.
>Il fatto che ti si pianti invece non è normale. Che errore ricevi?
>Hai strani messaggi di warning/errore nell'Event Viewer?
>
no no, si pianta proprio il cmd di windows con la segnalazione di errore da inviare alla Microsoft!
E questo sempre e solo con sqlcmd
>>leggerò con attenzione. Grazie
>Prego.
>
>Ciao!
>
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>
http://blogs.dotnethell.it/lorenzo/
>
http://italy.mvps.org
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 23 mar 2006 - 14:02
>no no, si pianta proprio il cmd di windows con la segnalazione
>di errore da inviare alla Microsoft!
>E questo sempre e solo con sqlcmd
Ma non hai nessun errore nell'Event Log?
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
gio 23 mar 2006 - 14:51
>Ma non hai nessun errore nell'Event Log?
>
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>
http://blogs.dotnethell.it/lorenzo/
>
http://italy.mvps.org
hai ragione, mi ero dimenticato di guardarci. Stasera (torno a lavorare sul pc incriminato) ci guardo e ti posto il problema
Grazie
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
gio 23 mar 2006 - 21:48
rieccomi qui, dunque l'errore che mi da sqlcmd (piantando il cmd di windows) è sempre lo stesso (indipendentemente dallo script):
Applicazione che ha provocato l'errore sqlcmd.exe, versione 2000.90.1116.0, modulo che ha provocato l'errore sqlcmd.exe, versione 2000.90.1116.0, indirizzo errore 0x00009afa.
nell'elenco delle applicazioni, prima di questo errore (quando accendo il pc e, immagino, si inizializza il tutto) ho, fra le varie informazioni dell'event viewer due errori:
FallBack certificate initialization failed with error code: 13.
The SQL Network Interface library was unable to register SPN. Error: 0x54b.
Hai qualche suggerimento?
Grazie
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 23 mar 2006 - 22:34
>Applicazione che ha provocato l'errore sqlcmd.exe, versione 2000.90.1116.0,
>modulo che ha provocato l'errore sqlcmd.exe, versione 2000.90.1116.0,
>indirizzo errore 0x00009afa.
Ciao escaflowne,
mi risulta che la versione 2000.90.1116.0 sia la CTP di Aprile 2005 quindi una versione preliminare di SQL Server 2005:
http://www.aspfaq.com/sql2005/show.asp?id=20
Ti suggerisco di disinstallarla insieme alla beta del framework .NET 2.0 e di installare la recentissima CTP di marzo 2006 che puoi scaricare dal seguente link:
SQL Server 2005 Service Pack 1 Express Editions and Tools - Community Technology Preview (CTP) March 2006
http://www.microsoft.com/downloads/details.aspx?FamilyID=57856cdd-da9b-4ad0-9a8a-f193ae8410ad&DisplayLang=en
SQL Server 2005 Books Online SP1 - Community Technology Preview (CTP) March 2006
http://www.microsoft.com/downloads/details.aspx?FamilyID=19db0b42-a5b2-456f-9c5c-f295cdd58d7a&DisplayLang=en
Microsoft .NET Framework Version 2.0 Redistributable Package (x86)
http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
ven 24 mar 2006 - 07:44
grazie, farò in questo modo.
Secondo te cosa devo temere, per la mia applicazione, disinstallando il ctp di marzo (e il framework) e reinstallando la versione aggiornata?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 24 mar 2006 - 10:34
>Secondo te cosa devo temere, per la mia applicazione, disinstallando
>il ctp di marzo (e il framework) e reinstallando la versione
>aggiornata?
Devi disinstallate la CTP di Aprile 2005 ed installare quella di Marzo 2006.
Prima di effettuare questa operazione fai un backup dei tuoi db utilizzando il comando BACKUP DATABASE; una volta installata la nuova versione provvedi a ripristinare i backup tramite il comando RESTORE:
"BACKUP (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms186865.aspx
"RESTORE (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms186858.aspx
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
ven 24 mar 2006 - 10:55
Si, farò il backup (anche se ne ho già fatti tanti, uno in più non guasta
)
Comunque mi preoccupo poco del db dato che, essendo in fase di sviluppo, mi interessa solo preservare la struttura del db e non i dati contenuti (per sicurezza mi stampo il diagramma del db e nel caso andasse tutto storto lo ricreo)
Piuttosto mi chiedevo se dovevo nuovamente sbattermi con la configurazione dato che, per far accettare la connessione del sql manager ho dovuto smanettare troppo (per i miei gusti)
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 24 mar 2006 - 11:09
>Piuttosto mi chiedevo se dovevo nuovamente sbattermi con la configurazione
>dato che, per far accettare la connessione del sql manager ho
>dovuto smanettare troppo (per i miei gusti)
Vedi tu se preferisci sviluppare con un software preliminare oppure installare una versione più stabile.
I Books Online ti spiegano tutto quello che c'è da conoscere evitando inutili "smanettamenti", certo, per imparare occorre leggerli...
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
ven 24 mar 2006 - 11:46
Frecciatina
Di solito leggo tanta documentazione prima di fare qualcosa, questa volta sono andato più alla leggera (e, per l'appunto, figurati se non capitava qualcosa).
Sicuramente mi preparerò al meglio
Versione più stabile dici, il fatto è che, dato che sviluppo per hobby e non per guadagnarmi il pane, ho preferito buttarmi sulla versione free di sql server (la express appunto). Versione più stabile vorrebbe dire acquistare sql server standard o professional (tra l'altro ho visto che in effetti non costa molto la standard, mi sembra sui 350 euro).
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 24 mar 2006 - 12:20
>Frecciatina
Dici?
>Versione più stabile dici, il fatto è che, dato che sviluppo
>per hobby e non per guadagnarmi il pane, ho preferito buttarmi
>sulla versione free di sql server (la express appunto). Versione
>più stabile vorrebbe dire acquistare sql server standard o professional
>(tra l'altro ho visto che in effetti non costa molto la standard,
>mi sembra sui 350 euro).
Versione più stabile significa più aggiornata.
La stabilità non c'entra niente con le edizioni di SQL Server, il DBEngine della Express è identico a livello di codice con quello dei fratelli maggiori, cambiano solo le configurazioni a livello di RAM massima, dimensione massima del database, ecc.
Quindi se fossi in te scaricherei la CTP di Marzo 2006 di SQL Server 2005 Express Edition, che incorpora molti degli aggiornamenti che verranno rilasciati prossimamente con il Service Pack 1.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
ven 24 mar 2006 - 12:24
bene, sto già stampando la documentazione per disinstallare sql express e per installarlo come si deve.
Questo fine settimana mi metto all'opera!
escaflowne
Profilo
| Junior Member
180
messaggi | Data Invio:
sab 25 mar 2006 - 10:36
>Versione più stabile significa più aggiornata.
>La stabilità non c'entra niente con le edizioni di SQL Server,
>il DBEngine della Express è identico a livello di codice con
>quello dei fratelli maggiori, cambiano solo le configurazioni
>a livello di RAM massima, dimensione massima del database, ecc.
>
>Quindi se fossi in te scaricherei la CTP di Marzo 2006 di SQL
>Server 2005 Express Edition, che incorpora molti degli aggiornamenti
>che verranno rilasciati prossimamente con il Service Pack 1.
>
>Ciao!
>
>--
Eccomi qui. Ho disinstallato tutto e reinstallato il framework, sql express advance, bol ecc.
Bene, tutto è andato liscissimo, tranquillo, funziona tutto al primo colpo.
Il restore del db è andato alla perfezione e lanciando da cmd un qualsiasi comando sqlcmd non si pianta più.
Che dire, grazie per le dritte, adesso provo a schedulare il backup e continuo a chiedere al forum
delucidazioni
Ah, ovviamente ho passato un bel pomeriggio a studiare la documentazione su come fare tutte queste cose
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !