Recupero dati

giovedì 01 marzo 2007 - 14.49

lordwaizard Profilo | Senior Member

Devo ripristinare un db
Il rispristino funziona correttamente.

PROBLEMA
Nel Menu DB>Protezione>Utenti> trovo vari utenti tra cui:
laura
gloria

I due utenti in questione non corrispondono a quelli presenti in
Protezione>Account di accesso

Per risolvere la cosa ho provato:
1)
Entro nel db ed elimino l'utente
RISPOSTA:
L'entità di database è proprietaria di schema nel database e non può essere eliminata.

2)
Creo un utente con lo stesso nome e nel mapping inserisco l'abilitazione all'accesso al mio db.
RISPOSTA:
L'utente gloria esiste già nel db

Sono abbastanza disperato qualcuno sa come posso risolvere la cosa?
Grazie in anticipo

DB
SQL2005EXPRESS (File di backup MSDE2000)

Jumpa Profilo | Junior Member

prima di eliminare l'utente, elimina anche lo schema

TUO_DB -> PROTEZIONE -> SCHEMI

dopo di che elimina l'utente

e poi richrei tutto bello bello pulito pulito

-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

lbenaglia Profilo | Guru

>PROBLEMA
>Nel Menu DB>Protezione>Utenti> trovo vari utenti tra cui:
>laura
>gloria
>
>I due utenti in questione non corrispondono a quelli presenti
>in
>Protezione>Account di accesso

Ciao lordwaizard,

Se ho capito bene la situazione stai ripristinando il backup di un db MSDE su una istanza SQL Server 2005 Express Edition, giusto?
Dato che si tratta di due istanze diverse ti trovi davanti al classico problema degli "utenti orfani".
Come saprai una login SQL Server è mappata ad uno user account a livello di database.
Ogni login ha un "numerino" chiamato SID che la identifica univocamente. Ripristinando un backup relativo ad un'altra istanza, anche se sulla nuova sono state definite delle login con il medesimo nome di quella vecchia, non si avrà la corrispondenza tra login e user account dato che i SID saranno differenti.

Per risolvere il problema è sufficiente rieffettuare l'associazione login --> user account utilizzando la stored procedure di sistema sp_change_users_login:

"sp_change_users_login"
http://msdn2.microsoft.com/en-us/library/ms174378.aspx

>Grazie in anticipo
Prego.

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

lordwaizard Profilo | Senior Member

Ho cancellato lo schema però ho due problemi:
1) quando mi connetto in questo modo mi va in crash il programma
CODICE:
Dim ds As New DataSet()
Dim da As New OleDb.OleDbDataAdapter(strsql, "Provider=SQLOLEDB; " & daticon)
da.Fill(ds, imp(7))
dgmag.SetDataBinding(ds, imp(7))

DGMAG è un datagrid

2) Con un palamre mi è impossibile collegarmi
CODICE:
Dim reader As SqlDataReader
Dim myConn As SqlConnection = New SqlConnection(daticon)
Dim myCommand As SqlCommand = New SqlCommand(str, myConn)

Try
myConn.Open()
reader = myCommand.ExecuteReader()
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
If Not reader Is Nothing Then
reader.Close()
myConn.Close()
If msg <> "" Then
MsgBox(msg, MsgBoxStyle.Information, titolo)
End If
End If
End Try

Qualsiasi comando sql fallisce

Come mai ho sbagliato qualcosa?

lbenaglia Profilo | Guru

>Ho cancellato lo schema però ho due problemi:
Perché l'hai cancellato?
Ripristina il backup MSDE e segui i passi descritti nella mia precedente risposta.

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

lordwaizard Profilo | Senior Member

Ho provato quello perchè è stato il primo consiglio, il lavoro sono andati già avanti non c'è possibilità di aggirare il discorso dell'eliminazione?

Perchè se no tutto il lavoro della mattinata va in fumo.

Scusami
Davide

lbenaglia Profilo | Guru

>Ho provato quello perchè è stato il primo consiglio, il lavoro
>sono andati già avanti non c'è possibilità di aggirare il discorso
>dell'eliminazione?
Senza conoscere i dettagli non ti posso rispondere

>Perchè se no tutto il lavoro della mattinata va in fumo.
Potresti scriptare tutte le modifiche apportare in questa mattinata, ripristinare il backup, sincronizzare login/user account e riapplicare gli script...

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

lordwaizard Profilo | Senior Member

Ti chiedo troppo se ti chiedo di spiegarmi come posso salvare il lavoro della giornata?

lbenaglia Profilo | Guru

>Ti chiedo troppo se ti chiedo di spiegarmi come posso salvare
>il lavoro della giornata?
Si
Perdonami, come faccio a sapere cosa hai fatto questa mattina?
Lo saprai tu (almeno credo)
Usa SSMSE per generare lo script di tutti gli oggetti che hai creato/modificato/cancellato...

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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5