[vb2005] duplicare tabella

mercoledì 17 ottobre 2007 - 04.36

adriano.carradore Profilo | Newbie

Ho questa necessita, ho un database con sql express 2005, devo duplicare le tabelli un un'altro database che è praticamente uguale come struttura ma verrà filtrato per poi essere distribuito con solo i dati che servono.
Ora ho provato con la query

SELECT * INTO Nuova_Tabella [IN c:\database\nuovodb.mdf] FROM Tabella_Sorgente

ma non funge, mi da un errore di sitassi in prossimità di IN c:\database\nuovodb.mdf
dove sbaglio?


alx_81 Profilo | Guru

>Ho questa necessita, ho un database con sql express 2005, devo
>duplicare le tabelli un un'altro database che è praticamente
>uguale come struttura ma verrà filtrato per poi essere distribuito
>con solo i dati che servono.
>Ora ho provato con la query
>
>SELECT * INTO Nuova_Tabella [IN c:\database\nuovodb.mdf] FROM
>Tabella_Sorgente
Ciao,
scusa ma non ho capito bene quello che vuoi fare..
Per caso vuoi replicare le strutture da un database all'altro facendo in modo che il database creato sia uguale a quello di partenza, per poi caricare solo alcuni dati?
Se sì, puoi utilizzare il wizard fornito da SSMS (anche Express) chiamato "Generate SQL Server Scripts Wizard". Non ti occorre altro che premere il tasto destro del mouse sul database di partenza --> Tasks (Attività in ita) --> Generate Scripts..
seguire gli step e farti generare tutti gli script degli oggetti..
Infine, riesegui quello script, spostandoti sul nuovo database precendentemente creato.
>
>
>

Alx81 =)

http://blogs.dotnethell.it/suxstellino

SSUPERPIPPO Profilo | Guru

>Ho questa necessita, ho un database con sql express 2005, devo
>duplicare le tabelli un un'altro database che è praticamente
>uguale come struttura ma verrà filtrato per poi essere distribuito
>con solo i dati che servono.
>Ora ho provato con la query
>
>SELECT * INTO Nuova_Tabella [IN c:\database\nuovodb.mdf] FROM
>Tabella_Sorgente
>
>ma non funge, mi da un errore di sitassi in prossimità di IN
>c:\database\nuovodb.mdf
>dove sbaglio?
>
>
>
A questo link trovi una guida completa per creare tabelle con SQL, anche derivate da un'altra tabella (come nel tuo caso):
http://www.studiamo.it/dispense/informatica/sql/creare-tabelle.html

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

lbenaglia Profilo | Guru

>Ora ho provato con la query
>
>SELECT * INTO Nuova_Tabella [IN c:\database\nuovodb.mdf] FROM
>Tabella_Sorgente
>
>ma non funge, mi da un errore di sitassi in prossimità di IN
>c:\database\nuovodb.mdf
>dove sbaglio?
Nella sintassi che è appunto invalida
Se il database di destinazione non esiste, la prima cosa che devi fare è crearlo.
Un metodo veloce consiste nell'eseguire un backup del db di origine e ripristinarlo con un nuovo nome sulla stessa istanza.
http://groups.google.it/group/microsoft.public.it.sql/msg/ec46c4e7c6c5fc6e
A questo punto hai tutti i dati del db di origine e non devi fare altro che eliminare quelli di troppo

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

adriano.carradore Profilo | Newbie

Forse non mi sono spiegato, io non devo creare un database uguale al primo, percè gia c'è, io deve copiare i dati dal database A al database B.
Usando il wizard mi crea un script per crare le tabelle con il create table.
Facendo il backup e poi il restore per eliminare i record che non mi servono funziona la prima volta, se eseguo il backup la seconda volta senza chiudere l'applicazione scritta in VB2005 non mi permette di sovrascrivere il vecchio backup, anche se nella qury restore ho l'opzione replace.Girando per la rete ho trovato anche questa qury ma non funziona

USE SourceDB -- not needed if already in the source database's context

INSERT INTO TargetDB.dbo.TargetTable SELECT * FROM SourceTable

ma non funge mi dice

Impossibile aprire il database 'TargetDB' a causa di file inaccessibili oppure per memoria o spazio su disco insufficiente. Per ulteriori informazioni, vedere il log degli errori di SQL Server.

OK TROVATO PROBLEMA RISOLTO CON LA QUERY SCRITTA QUA SOPRA

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