Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    [vb.net-sql server] collegamento - ripristino in sola lettura

    salve a tutti ho un programmino in vb.net che legge/scrive su un db sql server(express) 2005;

    ora, per motivi precauzionali volevo spostare il db in un hd più capiente..premettendo che mi collego da codice così:

    codice:
    New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Data\miodb.mdf
    e mi autentico tramite managment studio express con l'autenticazione si sql server..(sa - miapassword)

    i passaggi che ho fatto nel codice sono stati:

    1)cambio il path nella stringa di connessione
    2) cambio il path in app.config.

    mentre su sql:

    1) scollego il database
    2) lo taglio/incollo fisicamente nel nuovo hd
    3) lo ricollego..


    e qua iniziano i problemi:

    mi fa vedere l'icona grigia con scritto che è in sola lettura O_o e non posso più nemmeno scollegarlo, ho fatto una cavolata? Penso sia un problema di permessi(come-dove li setto?), ma a questo punto preferivo sentire voi prima di procedere.. grazie.

  2. #2
    Sul vecchio server sql chi era il proprietario?
    Sul nuovo server sql esiste lo stesso proprietario?
    Se non esiste devi assegnargli un proprietario
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mm, non so se ho interpretato correttamente la tua domanda; avendo un db che si stava riempiendo a vista d'occhio e non essendo buona prassi mantenere il db sul disco C, ho semplicemente collegato un nuovo hard disk nel pc.
    Cosa intendi per propietario? nelle propietà di sql server mangment studio è:

    'sa'


    come posso modificare i permessi per aggiungerci anche il mio account di sistema? Penso sia per questo che non posso scriverci su..

  4. #4
    Allora scusami, pensavo volessi spostare il db da un server ad un'altro, invece il server sql rimane sempre lo stesso ma hai semplicemente cambiato la directory per i file mdf e log,
    ok allora prova in questo modo:

    codice:
    USE [master]
    GO
    ALTER DATABASE [<databaseinsolalettura>] SET  READ_WRITE WITH NO_WAIT
    GO
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mm..c'è qualcosa che non funzia:

    Messaggio 5011, livello 14, stato 5, riga 1
    L'utente non autorizzato a modificare il database 'DB_FINANCE' oppure il database non esiste.
    Messaggio 5069, livello 16, stato 1, riga 1
    Istruzione ALTER DATABASE non riuscita.


    e la cosa che non capisco è che mi resituisce quel messaggio sia che scollego il db, lo porto sul nuovo hd e lo ricollego(quindi è in sola lettura) che viceversa..

    qualche idea?grazie mille eh..

  6. #6
    mmm ti connetti con account sa per fare queste operazioni?
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    si..esatto..con account 'sa', è per questo??

    Adesso ho riprovato a lanciarlo e mi da quest'errore/orrore ()

    USE [master]
    GO
    ALTER DATABASE DB_FINANCE SET READ_WRITE WITH NO_WAIT
    GO

    Messaggio 5120, livello 16, stato 101, riga 1
    Impossibile aprire il file fisico "D:\DB_FINANCE.mdf". Errore del sistema operativo 5: "5(error not found)"
    Messaggio 5120, livello 16, stato 101, riga 1
    Impossibile aprire il file fisico "D:\DB_FINANCE_log.ldf". Errore del sistema operativo 5: "5(error not found)"
    Errore di attivazione del file. Il nome di file fisico "D:\DB_FINANCE_log.ldf" potrebbe non essere corretto.
    Messaggio 945, livello 14, stato 2, riga 1
    Impossibile aprire il database 'DB_FINANCE' a causa di file inaccessibili oppure per memoria o spazio su disco insufficiente. Per ulteriori informazioni, vedere il log degli errori di SQL Server.
    Messaggio 5069, livello 16, stato 1, riga 1
    Istruzione ALTER DATABASE non riuscita.

    e sono certo che il file fisico c'è..me lo vedo in D..
    grassie

  8. #8
    "Error not found" significa che non è stato trovato l'errore, cmq prova a vedere le proprietà dei file .mdf e .log in modo tale da capire se ci sono proprietari diversi dall'utente del pc o se sono in sola lettura, ora non saprei proprio dirti :S
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    ho risolto loggandomi con l'aunteticazione di windows, eseguendo la query che mi hai indicato quando il db era presente nella path di default /data..ecc..
    ho scollegato, copiato/incollato nel nuovo hd, ricollegato e ha funzionato grazie!

  10. #10
    ahh, tutto bene quel che finisce bene
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.