file Migrace databáze vylitím a nalitím pomocí BCP

  • Venca Padák (SybaseLama)
  • Avatar uživatele Venca Padák (SybaseLama) Autor tématu
  • Offline
  • Nováček
  • Nováček
Více
19. čec 2017 09:00 #338 od Venca Padák (SybaseLama)
Migrace databáze vylitím a nalitím pomocí BCP vytvořil uživatel Venca Padák (SybaseLama)
Ahoj

mám v práci za úkol provést migraci databáze Sybase na nový server, ale změnila se velikost page_size z 16kb na 8kb a tudíž nemohu udělat klasický DUMP -> LOAD. Z tohoto důvodu se mi jeví jako jediná vhodná možnost vylití analytí tabulek pomocí BCP.

Potřeboval bych pomoci s nějakým scriptem, který by mi udělal select všech tabulek v dané databázi a vytvořil soubor příkazů pro BCP, které bych, pak už jen spustil a začlo vylívání.

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

  • Lukáš Panáček (Panky)
  • Avatar uživatele Lukáš Panáček (Panky)
  • Offline
  • Začátečník
  • Začátečník
Více
19. čec 2017 09:08 #339 od Lukáš Panáček (Panky)
Odpověděl Lukáš Panáček (Panky) pro téma Migrace databáze vylitím a nalitím pomocí BCP
Migraci by jste teoretickym mohli povést pomocí Sybmigrate infocenter.sybase.com/help/index.jsp?top...tyguide/CHECBEIF.htm

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

  • Kamil Jetko (Yetti)
  • Avatar uživatele Kamil Jetko (Yetti)
  • Offline
  • Začátečník
  • Začátečník
Více
19. čec 2017 09:14 #340 od Kamil Jetko (Yetti)
Odpověděl Kamil Jetko (Yetti) pro téma Migrace databáze vylitím a nalitím pomocí BCP
Níže uvedený script by mohl pomoci:

declare @db_name varchar(20)
, @srv_name varchar(20)
, @usr varchar(20)
, @pwd varchar(20)
, @path varchar(100)

select @db_name ='nazevDatabaze'
, @srv_name ='nazevServeru'
, @usr ='uzivatelskeJmeno'
, @pwd ='heslo'
, @path ='C:\BCP\nazevDazabaze\'

select
	name
	, "bcp " + @db_name + ".." + name + " out " + @path + name + ".out -U" + @usr + " -P" + @pwd + " -Jutf8 -c -t ~~ -S"+ @srv_name
from sysobjects
where type = 'U'
order by name

Tento script provede výstup do souboru, kde bude seznam příkazů BCP pro všechny vaše uživatelské tabulky (where type = 'U') z databáze.
Příkazy pak už jen ze souboru spustíte řádkově nebo hromadně a tabulky se začnou vylívat.

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

  • Kamil Jetko (Yetti)
  • Avatar uživatele Kamil Jetko (Yetti)
  • Offline
  • Začátečník
  • Začátečník
Více
19. čec 2017 09:28 #341 od Kamil Jetko (Yetti)
Odpověděl Kamil Jetko (Yetti) pro téma Migrace databáze vylitím a nalitím pomocí BCP
Parametry se kterými script vysype BCP příkazy si samozřejmě můžete změnit dle potřeby

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

  • Kamil Jetko (Yetti)
  • Avatar uživatele Kamil Jetko (Yetti)
  • Offline
  • Začátečník
  • Začátečník
Více
28. říj 2017 07:27 #362 od Kamil Jetko (Yetti)
Odpověděl Kamil Jetko (Yetti) pro téma Migrace databáze vylitím a nalitím pomocí BCP
Když pak data pro zmenu nalíváte na nový server, musíte sy upravit hodnot ve scriptu, především změnit OUT za INT a db_name ='nazevDatabazeCilove' a srv_name ='nazevServeruCilovy'.
declare @db_name varchar(20)
, @srv_name varchar(20)
, @usr varchar(20)
, @pwd varchar(20)
, @path varchar(100)

select @db_name ='nazevDatabazeCilove'
, @srv_name ='nazevServeruCilovy'
, @usr ='uzivatelskeJmeno'
, @pwd ='heslo'
, @path ='C:\BCP\nazevDazabaze\'

select
	name
	, "bcp " + @db_name + ".." + name + " in" + @path + name + ".out -U" + @usr + " -P" + @pwd + " -Jutf8 -c -t ~~ -S"+ @srv_name
from sysobjects
where type = 'U'
order by name

Ať se daří.

Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.

Přihlášení