|
Golire baza de date
Last post 03-24-2008, 6:14 PM by aflorin27. 16 replies.
-
03-20-2008, 11:32 AM |
-
03-20-2008, 11:45 AM |
-
ignatandrei
-
-
-
Joined on 11-17-2006
-
Bucuresti
-
sysadmin
-
-
|
mangalau:Exista vreo comanda de golire a unei baza de date(toate inregistrarile), am script de la baza da imi pica serveru dacal rulez ziua )))), poate doar noaptea.
Versiunea 1 drop table / create table Versiunea 2 truncate table Versiunea 3 drop database / create database Oricare din ele nu merge daca iti pica server-ul ... cum pica?
Ignat Andrei http://serviciipeweb.ro/iafblog
|
|
-
03-20-2008, 12:33 PM |
-
03-20-2008, 2:29 PM |
-
03-20-2008, 3:09 PM |
-
B_gd_n[ ]Sahlean
-
-
-
Joined on 07-17-2007
-
Bucuresti
-
sysadmin
-
-
|
mangalau:Chestia e ca vreau sa pastrez toate tabelele, index,key,etc doar ca vreau sa nu mai am nici o inregistrare , a fost conceputa prost de la inceput si acuma vrem sa o schimbam.Sunt peste 300 de tabele, am rulat scriptul mi-a facut tabelele dar am niste erori si nu cred ca e ok asa, dop imi sterge de tot din instanta si eu nu vreau asta
Alta solutie: [1] backup la baza de date vidă ............... ............... ............... [2] restore
|
|
-
03-20-2008, 9:26 PM |
-
03-20-2008, 9:31 PM |
-
-
03-20-2008, 10:01 PM |
-
B_gd_n[ ]Sahlean
-
-
-
Joined on 07-17-2007
-
Bucuresti
-
sysadmin
-
-
|
mangalau:Nu vad nici o optiune de back up baza de date vida, am sql 2005, dac exista ,plz post me.
 M-ai înţeles eronat. Am dorit să zic că trebuie să faci un backup (copie de siguranţă) la baza de date în moment în care aceasta este "vidă" ! Ulterior, de fiecare dată când este necesar, doar restaurezi (restore) baza de date. Pentru restaurare poţi folosi comanda T-SQL RESTORE.
|
|
-
03-20-2008, 11:59 PM |
-
03-21-2008, 1:39 AM |
-
03-21-2008, 2:19 AM |
-
B_gd_n[ ]Sahlean
-
-
-
Joined on 07-17-2007
-
Bucuresti
-
sysadmin
-
-
|
ignatandrei:declare @len varchar(8000) set @len='' select @len = @len + 'truncate ' + name + char(10)+ char(13) from sys.tables print @len
Ce te faci daca exista chei externe ? Chiar si atunci cand ai activată opţiunea ştergere în cascadă vei obţine următoarea eroare: "Cannot truncate table 'A' because it is being referenced by a FOREIGN KEY constraint."CREATE TABLE A(ID_A INT PRIMARY KEY, DEN_A VARCHAR(25)) GO
CREATE TABLE B(ID_B INT PRIMARY KEY, DEN_B VARCHAR(25), ID_A INT REFERENCES A(ID_A)) GO
INSERT INTO A VALUES (1,'A_1') INSERT INTO A VALUES (2,'A_2') GO
INSERT INTO B VALUES (1,'B_1',1) INSERT INTO B VALUES (2,'B_2',2) INSERT INTO B VALUES (3,'B_3',2) GO
În acest caz , TRUNCATE TABLE A duce la obtinerea erorii de mai sus iar ordinea corectă este TRUNCATE TABLE B si apoi TRUNCATE TABLE A !
|
|
-
03-21-2008, 10:04 AM |
-
ignatandrei
-
-
-
Joined on 11-17-2006
-
Bucuresti
-
sysadmin
-
-
|
B_gd_n[ ]Sahlean: ignatandrei:declare @len varchar(8000) set @len='' select @len = @len + 'truncate ' + name + char(10)+ char(13) from sys.tables print @len
Ce te faci daca exista chei externe ? Chiar si atunci cand ai activată opţiunea ştergere în cascadă vei obţine următoarea eroare: "Cannot truncate table 'A' because it is being referenced by a FOREIGN KEY constraint."CREATE TABLE A(ID_A INT PRIMARY KEY, DEN_A VARCHAR(25)) GO
CREATE TABLE B(ID_B INT PRIMARY KEY, DEN_B VARCHAR(25), ID_A INT REFERENCES A(ID_A)) GO
INSERT INTO A VALUES (1,'A_1') INSERT INTO A VALUES (2,'A_2') GO
INSERT INTO B VALUES (1,'B_1',1) INSERT INTO B VALUES (2,'B_2',2) INSERT INTO B VALUES (3,'B_3',2) GO
În acest caz , TRUNCATE TABLE A duce la obtinerea erorii de mai sus iar ordinea corectă este TRUNCATE TABLE B si apoi TRUNCATE TABLE A !
Bogdan, sunt de acord cu problema PK/FK. In general , astea se rezolva prin try/error ... muti mai jos cele care nu merg ... Problema era de generat codul pentru mai multe tabele... Daca as vrea sa fac codul pentru PK/FK ar fi muuuult mai complicat ...
Ignat Andrei http://serviciipeweb.ro/iafblog
|
|
-
03-21-2008, 2:25 PM |
-
03-23-2008, 10:43 PM |
Page 1 of 2 (17 items)
1
|
|
|