Domanda

Esiste un modo automatico in SQL Server 2005 per creare un database da più tabelle in un altro database?Devo lavorare su un progetto e mi servono solo poche tabelle per eseguirlo localmente e non voglio fare il backup di un DB da 50 giga.

AGGIORNAMENTO

Ho provato Attività -> Esporta dati in Management Studio e, sebbene creasse un nuovo database secondario con le tabelle che volevo, non ha copiato alcun metadato della tabella, ovvero... nessun vincolo PK/FK e nessun dato di identità (anche con Preserva identità selezionata).

Ovviamente ne ho bisogno perché funzioni, quindi sono aperto ad altri suggerimenti.Proverò quello strumento di pubblicazione del database.

Non ho a disposizione Integration Services e i due SQL Server non possono connettersi direttamente tra loro, quindi non sono disponibili.

Aggiornamento dell'Aggiornamento

Lo strumento di pubblicazione del database ha funzionato, l'SQL generato era leggermente difettoso, quindi è stata necessaria una piccola modifica manuale (ho provato a fare riferimento a trigger inesistenti), ma una volta fatto questo ero a posto.

È stato utile?

Soluzione

Puoi usare il Pubblicazione guidata del database per questo.Ti consentirà di selezionare un set di tabelle con o senza dati ed esportarlo in un file di script .sql che potrai quindi eseguire sull'altro database per ricreare le tabelle e/o i dati.

Altri suggerimenti

Crea prima il tuo nuovo database.Quindi fai clic con il pulsante destro del mouse su di esso e vai al sottomenu Attività nel menu contestuale.Dovresti avere una sorta di funzionalità di importazione/esportazione lì dentro.Non ricordo esattamente perché in questo momento non sono al lavoro!:)

Da lì, potrai scegliere le origini dati di origine e di destinazione e quali tabelle desideri trasferire.Quando selezioni le tabelle, fai clic sul pulsante avanzato (o opzioni) e seleziona la casella di controllo chiamata "conserva chiavi primarie".Altrimenti, verranno creati nuovi valori di chiave primaria.

So che questo metodo difficilmente può essere definito automatico, ma perché non usi alcune semplici istruzioni SELECT INTO?

Perché dovrei prima ricostruire lo schema, i vincoli e gli indici.Questa è la parte che voglio automatizzare... Ottenere i dati è la parte facile.

Grazie a tutti per i suggerimenti, sembra che sia facile.

Integration Services può aiutare a svolgere questa attività.Questo strumento fornisce funzionalità avanzate di trasformazione dei dati in modo da poter ottenere l'esatto sottoinsieme di dati di cui hai bisogno da un database di grandi dimensioni.

Supponendo che tali dati siano necessari per test/debug, potresti prendere in considerazione l'applicazione del campionamento delle righe per ridurre la quantità di dati esportati.

  1. Crea un nuovo database
  2. Fai clic destro su di esso,
  3. Attività -> Importa dati
  4. Segui le istruzioni
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top