15 messaggi dal 24 ottobre 2006
Ciao,
ho un backup del mio intero database presso un provider.
Ho importato tale backup (file .bak) sul mio server personale dove ho SQL 2005 Express. L'importazione è avvenuta, però noto che gli "schemi" (penso si chiamino così) delle tabelle si chiamano "Mssqlxxxx" invece che dbo come solitamente sono le altre mie tabelle che ho creato in locale sul mio server.
Con questo problema infatti il website non funziona dicendo che non trova le tabelle.
Devo effettuare un

ALTER SCHEMA dbo TRANSFER TO MSSqlxxxx.nometabella

per ogni tabella, e poi tutto funziona.
C?è un metodo più rapido per sistemare questo problema senza passare tabella per tabella ?

Grazie
2.410 messaggi dal 13 febbraio 2003
Contributi
Ciao,
ho un backup del mio intero database presso un provider.
Ho importato tale backup (file .bak) sul mio server personale dove ho SQL
2005 Express. L'importazione è avvenuta, però noto che gli "schemi" (penso
si chiamino così) delle tabelle si chiamano "Mssqlxxxx" invece che dbo come
solitamente sono le altre mie tabelle che ho creato in locale sul mio server.
Con questo problema infatti il website non funziona dicendo che non trova
le tabelle.
Devo effettuare un
ALTER SCHEMA dbo TRANSFER TO MSSqlxxxx.nometabella

per ogni tabella, e poi tutto funziona.
C?è un metodo più rapido per sistemare questo problema senza passare tabella per tabella ?

la stored procedure sp_changedbowner dovrebbe esserti d'aiuto
http://msdn2.microsoft.com/en-us/library/ms178630.aspx
1.976 messaggi dal 27 luglio 2005
Contributi
ManuelRighi ha scritto:
Ciao,

Devo effettuare un

ALTER SCHEMA dbo TRANSFER TO MSSqlxxxx.nometabella

per ogni tabella, e poi tutto funziona.
C?è un metodo più rapido per sistemare questo problema senza passare tabella per tabella ?

se nel tuo codice non hai specificato l'ownership degli oggetti che usi, similarmente a
SELECT * FROM [Tabella] -- E SPERO PROPRIO DI NO :D
e non
SELECT * FROM [Schema].[Tabella]
potresti "risolvere" modificando lo schema di default di ogni singolo utente impostandolo a MSSQLxxxx, ma non mi pare una buona scelta..
non ti resta quindi che trasferire allo schema da te utilizzato tutti gli oggetti contenuti nello schema MSSQLxxxx..
e la sintassi e' al contrario
ALTER SCHEMA dbo TRANSFER MSSQLxxx.NomeTabella;

saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
15 messaggi dal 24 ottobre 2006
Con ALTER SCHEMA dbo TRANSFER TO MSSqlxxxx.nometabella il problema mi si risolve, solo che devo effettuarlo su tutte le tabelle e su tutte le stored procedure e funzioni :(
Si può fare una query ciclica che passa tutte le tabelle, stored procedure e funzioni alterando lo schema ?
Altrimenti altri suggerimenti ?
2.410 messaggi dal 13 febbraio 2003
Contributi
Con ALTER SCHEMA dbo TRANSFER TO MSSqlxxxx.nometabella il problema mi si
risolve, solo che devo effettuarlo su tutte le tabelle e su tutte le stored
procedure e funzioni
Si può fare una query ciclica che passa tutte le tabelle, stored procedure
e funzioni alterando lo schema ?
Altrimenti altri suggerimenti ?

puoi usare un cursore e ciclare l'INFORMATION_SCHEMA.TABLES per le tabelle e INFORMATION_SCHEMA.ROUTINES per le stored procedure

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.