Copiare la struttura di una vista

venerdì 15 settembre 2006 - 09.32

memmo77 Profilo | Expert

Salve, il mio problema è questo. Tramite il sysobjects e il syscolumns, sono riuscito a creare una query che mi ricrea il db come un altro, l'unico problema resta per le viste, che non riesco proprio a trovare, dove e come sono composte. Sapete darmi qualche indicazione?
Grazie mille.

lbenaglia Profilo | Guru

>Salve, il mio problema è questo. Tramite il sysobjects e il syscolumns,
>sono riuscito a creare una query che mi ricrea il db come un
>altro, l'unico problema resta per le viste, che non riesco proprio
>a trovare, dove e come sono composte. Sapete darmi qualche indicazione?

Ciao memmo77,

questo lavoro deve essere eseguito una tantum?
Se la risposta è afermativa puoi servirti dell'apposita funzionalità di generazione degli script presenti in Enterprise Manager o SQL Server Management Studio (in base alla versione che stai utilizzando), altrimenti trovi informazioni sulle tabelle di sistema interessate dal comando CREATE VIEW in questo post:
http://blogs.dotnethell.it/lorenzo/Post_994.aspx

Fai attenzione che il comando CREATE VIEW sarà contenuto nella colonna text della tabella di sistema syscomments che è definita come nvarchar(4000), quindi se il comando supera i 4000 caratteri verrà "splittato" in più righe aventi il medesimo id e colid incrementato di 1.

L'Information Schema View VIEWS che potrebbe essere utilizzata per recuperare la struttura delle viste, soffre proprio di questo problema. I Books Online riportano:

VIEW_DEFINITION nvarchar(4000) If the length of definition is larger than nvarchar(4000), this column is NULL. Otherwise, this column is the view definition text.



>Grazie mille.
Prego.

Ciao!

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

memmo77 Profilo | Expert

Grazie mille, faccio delle prove e ti faccio sapere

memmo77 Profilo | Expert

Niente da fare. Non riesco a copiare queste benedette viste. Dovrei poter copiare le viste da un db all'altro.Per le tabelle è ok, per le viste non riesco .Aiutatemi

lbenaglia Profilo | Guru

>Niente da fare. Non riesco a copiare queste benedette viste.
>Dovrei poter copiare le viste da un db all'altro.Per le tabelle
>è ok, per le viste non riesco .Aiutatemi
Aiutatemi? Mi sembra di averlo fatto. Il passo successivo è delegare a noi il lavoro
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

memmo77 Profilo | Expert

hihihi ok se vuoi te lo mando.A parte gli scherzi, ci sto lavorando poi ti faccio sapere. Grazie
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5