Quote Originariamente inviata da alepizzetto Visualizza il messaggio
Per creare questa copia ho usato il comando RESTORE DATABASE, utilizzando come sorgente il database A e come destinazione il database B.
Quando provo ad aggiungere una nuova tabella al database B e "tento" di salvarla, SQL Server Managment Studio dopo 30 secondi mi da un errore di Timeout...
Non conosco benissimo SQLServer, ma in un caso simile verificherei se nel ServerA ci sono
degli utenti specifici ( creati sul ServerA ) che hanno accesso al DataBaseA

In questo caso nel ServerB ti mancano quegli utenti che non erano nel Restore

( ma ti ripeto, sto parlando senza avere conoscenze dettagliate )

Prova eventualmente nel ServerB ad autenticarti come l'onnipotente "sa" e vedi se ti si ripoopone il problema

Quote Originariamente inviata da alepizzetto Visualizza il messaggio
Cosa ho sbagliato? da un databse creato con RESTORE DATABASE è possibile aggiungere nuove tabelle?
Certo, il RESTORE DATABASE e la via maestra ( indicata sulla documentazione ) per trasferire i DB e poi per modificarli

Quote Originariamente inviata da alepizzetto Visualizza il messaggio
o c'è un modo "più pulito" per creare una copia?
è solo una mia opinione personale

Ti fai uno script con dati del DataBaseA
ti produce un file .txt
poi esegui lo script sul ServerB

La differenza sta nel fatto che:

--- il RESTORE BATABASE ti crea un nuovo DB "gia vecchio" significa identico al precedente
con la frammentazione e tutto il resto

--- Lo script ti produce un nuovo DB "nuovo"
crea il DB
Crea le tabelle
crea tutti gli oggetti
inserisce i dati



Attento pero:
Se ricordo bene solo da SQLServer2008 puoi crearti lo Script con dati

.