Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2010.08.26 13:12 | Dariusz Brejnak | Aktualizacja: 2010.08.28 14:14

[Porada] Jak przenieść dane pomiędzy serwerami w wersji MS SQL Server 2000 ?

tagi: SQL SQL Server
Jak przenieść dane pomiędzy serwerami w wersji MS SQL Server 2000 ?

Poniższe rozwiązanie prezentuje operację przeniesienia całej zawartości SQL Servera 2000 na inną maszynę.


1. Wykonanie kopii zapasowej dziennika transakcji za pomocą polecenia:

 

[Kod]

BACKUP LOG NazwaBazyDanych TO DISK='C:\NazwaBazyDanych_LogBackup.trn'

 

Wykonujemy to dla wszystkich baz danych umieszczonych na serwerze.
(Odpowiedni skrypt, który automatycznie wykonuje backup logu po "dopracowaniu" przedstawie wkrótce w osobnej poradzie.

 

2. Wykonanie kopii zapasowej bazy danych.
W celu wykonania kopii zapasowych bazy danych można użyć   polecenia:

[Kod]

BACKUP DATABASE NazwaBazyDanych TO  DISK = C:\NazwaBazyDanych_Backup.bak'   WITH NOFORMAT, INIT,  NAME = N'NazwaBazyDanych - Full Database Backup',  SKIP, NOREWIND, NOUNLOAD,  STATS = 100;


Osobiście polecam użycie skryptu, który automatycznie wykona backup wszystkich baz danych zawartych na serwerze.

Skrypt taki napisałem , jego opis jak i kod umieściłem w poradzie:

Jak wykonać automatyczny backup i "zip" baz w MS SQL Server 2000 ?


(Wersja dla MS SQL Server 2005/2008 :


Jak wykonać automatyczny backup i "zip" baz w MS SQL Server 2005/2008 ? )


3. Na serwerze żródłowym należy uruchomić skrypt przedstawiony poniżej. 
Wygeneruje on prosty kod służący do założenia pustych baz danych na serwerze docelowym.
Po uruchomieniu kopiujemy wygenerowany kod i uruchamiamy na serwerze docelowym


[Kod]

--------------------------------------------------------------------------------------
-- Script     : AutomaticCreatedDatabases.sql
-- Author     : Dariusz Brejnak aka 'DBSoft (c) 2010
-- Created    : 2010-08-26
-- Modified   : 2010-08-26
-- Description: script designed to automatically create the databases on the SQL server.
----------------------------------------------------------------------------------------

USE master
GO

DECLARE @DBName varchar(255)
DECLARE @DB_Fetch int

-- Declare Cursor
DECLARE DB_Cursor CURSOR FOR
SELECT
DATABASE_NAME   = db_name(s.dbid)
FROM
[master].[dbo].[sysdatabases] s
WHERE
( -- exclude master, model, tempdb, msdb or other
db_name(s.dbid) not in ('master','model','tempdb','msdb')
)
-- Not multiple line  
GROUP BY s.dbid
ORDER BY DATABASE_NAME

PRINT '-- AutomaticCreatedDatabases.sql  script '
PRINT '-- generated:'
PRINT ''
OPEN DB_Cursor
FETCH NEXT FROM DB_Cursor INTO @DBName

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'CREATE DATABASE [' + @DBName + ']'
PRINT 'GO'
FETCH NEXT FROM DB_Cursor INTO @DBName
END

CLOSE DB_Cursor
DEALLOCATE DB_Cursor

PRINT ''
PRINT '--------------------------------------'

4. Na serwerze docelowym odtwarzamy stworzone w pkt 2. kopie baz danych, pamiętając o tym aby zaznaczyć opcję nadpisania istniejących baz danych (overwrite the existing database (WITH REPLACE).

 


Komentarze 0 Masz uwagi do tej strony? Napisz

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Dariusz Brejnak
avatar Ekspert WSS
 

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS