SQL-Serverdatenbanken umziehen

31/01/2008 - 08:58 von Jörg Becker | Report spam
Moin,

ich habe bei uns einen àlteren SQL-Server (2002 oder 2003), welcher ja
eigentlich soweit làuft

Nun haben wir allerdings neue Hardware, eine neue Domainstruktur und einen
SQL2005.

Somit darf ich die Datenbanken (ist nicht viel) umziehen. Gibts dafür ein
"Rezept" ?
Beim MYSQL kopiere ich einfach die Datenbanken und fertig . aber bei
MSSQL?

Gruss

Jörg
 

Lesen sie die antworten

#1 Christoph Muthmann
31/01/2008 - 09:29 | Warnen spam
Jörg Becker wrote:
Moin,

ich habe bei uns einen àlteren SQL-Server (2002 oder 2003), welcher
ja
eigentlich soweit làuft

Nun haben wir allerdings neue Hardware, eine neue Domainstruktur und
einen SQL2005.

Somit darf ich die Datenbanken (ist nicht viel) umziehen. Gibts dafür
ein "Rezept" ?
Beim MYSQL kopiere ich einfach die Datenbanken und fertig . aber
bei MSSQL?




Hallo Jörg,
zum einen kannst Du natürlich erst mal den Upgrade Advisor bemühen um
mögliche Probleme aufzudecken:
http://www.databasejournal.com/feat...hp/3595276

Der weitere Umzug (von Deinem 2000er) geht über Backup/Restore oder
detach/attach problemlos.
Danach habe ich mir folgende Schritte angewöhnt:
exec sp_dbcmptlevel meineDB, 90
go
Use meineDB
exec sp_updatestats
dbcc updateusage ('meineDB')
go
die Überprüfung der Seiten
select 'ALTER DATABASE ' + quotename(name) + ' SET PAGE_VERIFY CHECKSUM
WITH NO_WAIT'
from sys.databases
where name <> 'tempdb'
and page_verify_option < 2
order by name;

Für die Logins gibt es einen wizard oder ein Skript von mir (ganz am
Ende:
http://www.insidesql.org/beitraege/...ueberblick)
und falls ihr SQL-Logins verwendet, mußt Du diese anschliessend
geraderücken:
/* SQL-Logins aktivieren und gerade rücken */
/* Das muss man sich dann noch für die einzelnen Datenbanken basteln */
Use [meineDB]
GO
Exec sp_change_users_login 'Update_One', 'meinSqlLogin', 'meinSqlLogin'
ALTER USER [meinSqlLogin] WITH DEFAULT_SCHEMA=[dbo]
GO

Falls Du keine Lust auf basteln hast, liefert dies hier das
Grundgerüst:
auszuführen
select 'Exec sp_change_users_login ''Update_One'', ''' + RTrim(u.name)
+ ''', ''' + RTrim(l.loginname) + ''''
from sysusers u,
master..syslogins l
where u.sid is not null
and u.sid = l.sid
and u.issqluser = 1
and l.loginname <>'sa'

select 'ALTER USER [' + RTrim(u.name) + '] WITH DEFAULT_SCHEMA=[dbo]'
from sysusers u,
master..syslogins l
where u.sid is not null
and u.sid = l.sid
and u.issqluser = 1
and l.loginname <>'sa'


Danach auf jeden Fall testen, ob die Anwendungen damit arbeiten können.
Notfalls den Kompatibilitàtslevel wieder senken.

Einen schönen Tag noch,
Christoph
(Please post ALL replies to the newsgroup only unless indicated
otherwise)

Ähnliche fragen