Aggiornare la stored procedure di un db sql server 2005

mercoledì 09 gennaio 2008 - 15.11

trinity Profilo | Guru

Salve ragazzi,
io ho creato un programma che si poggia su un db sql server 2005 express. Questo programma l'ho venduto ad un mio cliente.
All'interno del db ci sono una serie di stored, una di queste l'ho dovuta modificare. Ora dovrei aggiornare anche al stored che si trova sul pc del mio cliente.
Io dal mio ho creato un file .sql di tipo ALTER della stored. c'è il modo con un comando sql o una file eseguile di sql stesso di far avviare questo file .sql?
Senza dover ricorrere all'installazione di un tool esterno?

se si come

Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Salve ragazzi,
Ciao!

>io ho creato un programma che si poggia su un db sql server 2005
>express. Questo programma l'ho venduto ad un mio cliente.
>All'interno del db ci sono una serie di stored, una di queste
>l'ho dovuta modificare. Ora dovrei aggiornare anche al stored
>che si trova sul pc del mio cliente.
>Io dal mio ho creato un file .sql di tipo ALTER della stored.
>c'è il modo con un comando sql o una file eseguile di sql stesso
>di far avviare questo file .sql?
come è stato fatto il deploy dal tuo cliente? il db è su file? oppure c'è installato l'engine di sql server express senza il client Management Studio?

Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

trinity Profilo | Guru

>>Salve ragazzi,
>Ciao!
>
>>io ho creato un programma che si poggia su un db sql server 2005
>>express. Questo programma l'ho venduto ad un mio cliente.
>>All'interno del db ci sono una serie di stored, una di queste
>>l'ho dovuta modificare. Ora dovrei aggiornare anche al stored
>>che si trova sul pc del mio cliente.
>>Io dal mio ho creato un file .sql di tipo ALTER della stored.
>>c'è il modo con un comando sql o una file eseguile di sql stesso
>>di far avviare questo file .sql?
>come è stato fatto il deploy dal tuo cliente? il db è su file?

c'è installato l'engine di sql server express ma non è installato il management studio

oppure c'è installato l'engine di sql server express senza il
>client Management Studio?
>
>Alx81 =)
>
>http://blogs.dotnethell.it/suxstellino
>http://mvp.support.microsoft.com/profile/Alessandro.Alpi
>http://italy.mvps.org

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>c'è installato l'engine di sql server express ma non è installato
>il management studio
ok, allora proporrei l'utilizzo di sqlcmd, una tool di sql server 2005 per eseguire sql da console.
se apri il prompt di dos e utilizzi questa utility dovresti risolvere il tuo problema.
Se però devi farlo fare al tuo cliente, puoi creare un semplice bat che esegue la seguente riga di comando:

sqlcmd -i filealter.sql

l'unico problema sono le permission. Di solito è buona norma che un cliente non abbia i permessi per fare alter e quindi la windows auth che usa di default la sqlcmd credo (e spero) non sia sufficiente. Puoi cambiare le credenziali usando i parametri aggiuntivi -U Username e -P Password.
Ma per ovvie ragioni di sicurezza, devi essere tu ad eseguirla

dovrebbe bastarti..
facci sapere!
Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

trinity Profilo | Guru

grazie mille
i clienti non hanno e come hai detto bene anche te non avranno mai i permessi per gestire il db. Sono io che provvederò a fare il tutto.
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>grazie mille
>i clienti non hanno e come hai detto bene anche te non avranno
>mai i permessi per gestire il db. Sono io che provvederò a fare
>il tutto.
Bene
Mi raccomando fammi sapere se è andato tutto per il meglio, ultimamente sto usando molto sqlcmd, e raccolgo materiale
Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

lbenaglia Profilo | Guru

>l'unico problema sono le permission. Di solito è buona norma
>che un cliente non abbia i permessi per fare alter e quindi la
>windows auth che usa di default la sqlcmd credo (e spero) non
>sia sufficiente. Puoi cambiare le credenziali usando i parametri
>aggiuntivi -U Username e -P Password.
Sempre che l'istanza sia in mixed mode (di default SQL Server Express è configurato solo in Windows Authentication)

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

io ho installato sql express e basta non so se possiede l'autenticazione mista. Nel caso in cui non dovesse averla come faccio?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>io ho installato sql express e basta non so se possiede l'autenticazione
>mista. Nel caso in cui non dovesse averla come faccio?
La imposti se ti serve via SSMS o editando a manina una chiave di registry:
http://msdn2.microsoft.com/en-us/library/ms188670.aspx
http://support.microsoft.com/kb/285097/en-us

Nel tuo caso non è meglio loggarsi alla macchina con un account appartenente al gruppo locale Administrators, eseguire la modifica della sp via sqlcmd utilizzando la Windows Authentication e fare un bel logoff?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alx_81 Profilo | Guru

>Sempre che l'istanza sia in mixed mode (di default SQL Server
>Express è configurato solo in Windows Authentication)
Grazie
Il preciso Lorenzo colpisce ancora
Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

trinity Profilo | Guru

Per Lorenzo.
sono andato sul pc del mio cliente e dal dos ho scritto il seguente codice:

c:\Documents ans Settings\Luca>sqlcmd -s .\sqlexpress

e mi è uscito il seguente messaggio:
Provider named pipe: impossibile aprire una connessione a Sql Server [2].
Sqlcmd: errore: Microsoft Sql Native Client: Si è verificato un errore durante il tentativo di stabilire una connessione al server. Durante la connessione a Sql Server 2005 questo errore può essere provocato dal fatto che nelle impostazioni predefinite di Sql Server non sono consentite connessioni remote.


Come posso procedere?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>Per Lorenzo.
>sono andato sul pc del mio cliente e dal dos ho scritto il seguente
>codice:
>
>c:\Documents ans Settings\Luca>sqlcmd -s .\sqlexpress
>
>e mi è uscito il seguente messaggio:
>Provider named pipe: impossibile aprire una connessione a Sql
>Server [2].
>Sqlcmd: errore: Microsoft Sql Native Client: Si è verificato
>un errore durante il tentativo di stabilire una connessione al
>server. Durante la connessione a Sql Server 2005 questo errore
>può essere provocato dal fatto che nelle impostazioni predefinite
>di Sql Server non sono consentite connessioni remote.
>
>
>Come posso procedere?
Abilitanto temporaneamente le connessioni remote (lo dice il messaggio stesso) utilizzando ad esempio il SQL Server Surface Area Configuration.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

e per fare il logoff?
da dos c'è il modo di sapere la password di sa?
io durante l'installazione non ho settato nessuna password perchè ho scelto l'autenticazione windows
è possibile passare a quella mista e settare la password di sa?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>e per fare il logoff?
Cosa?
Spegni il computer

>da dos c'è il modo di sapere la password di sa?
No, e nemmeno in altri modi.

>io durante l'installazione non ho settato nessuna password perchè
>ho scelto l'autenticazione windows
>è possibile passare a quella mista e settare la password di sa?
Certo, tramite il comando ALTER LOGIN. Guarda i BOL per maggiori dettagli.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

sono entrato in connessione al db tramite dos
ho eseguito sqlcmd -i getstampa.sql
ma poi quando lancio il programma per vedere se la stored esegue i comandi giusti mi esce sempre lo stesso errore pertanto la stored non è stata modificata

come posso fare?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>sono entrato in connessione al db tramite dos
>ho eseguito sqlcmd -i getstampa.sql
>ma poi quando lancio il programma per vedere se la stored esegue
>i comandi giusti mi esce sempre lo stesso errore pertanto la
>stored non è stata modificata

Rispondi alle seguenti domande:

1) Che errore ricevi?
2) Con che utente ti sei loggato a Windows?
3) Fa parte del gruppo BUILTIN\Administrators?
4) Il guppo BUILTIN\Administrators è mappato all'omonima login in SQL Server (di default lo è)?
5) Ricevi qualche errore durante l'esecuzione dello script?
6) Hai verificato con la sp_helptext il codice della stored procedure dopo la modifica?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5