|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
[SQL Server] Backup tramite query
Devo effettuare il backup di un database sql server (fatto su windows server 2000, quindi sql server 2000) tramite una query...ho trovato questa sintassi generica e molte altre piu complesse...
Codice:
BACKUP DATABASE myDataBase TO myDiskDevice Io devo effettuare un semplice backup in modo che poi sia "restorabile" da un'altra macchina. |
|
|
|
|
|
#2 | |
|
Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
|
Quote:
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Ci vuole un tool chiamato Sql Publishing Wizard per cui gli passi l'mdf e lui ti genera lo script sql corrispondente. In Sql2000 non era incluso, mi sembra che non lo fosse nemmeno sul 2005, mentre sicuramente nel 2008 c'è. |
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
|
Quote:
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
devo fare tutto da java...
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
...un bel lavoraccio...sopratutto perchè esistono tool e soluzioni da console molto interessanti...comunque potresti creare un tool che ricostruisce la struttura della tabella e da questa interroga a blocchi il contenuto...
Codice:
DatabaseMetaData dbmd = this.conn.getMetaData();
String[] types = {"TABLE"};
ResultSet resultSet = dbmd.getTables(null, null, "%", types);
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Cioè devi generare lo script sql da java?
Allora vai di query su db e di generazione manuale dello script. Certo che è bello complesso, specialmente quando vai a creare lo script di creazione tabelle con tutti i vincoli che possono esserci e che dovresti rintracciare nelle tabelle di sistema. Perchè hai questo requisito? In questo caso un linguaggio di programmazione (qualunque esso sia) non è lo strumento più indicato allo scopo, visto che esistono tool di gestione. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
in pratica devo "mandare" tutti i dati del db (che può essere di diversi tipi...) ad un'altra macchina...sto vedendo l'hibernate ma ho zero esperienza...qualcuno di voi lo conosce? o ne conosce di migliori?
|
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
...il mio stralcio di prima permetteva di ricavare la struttura di un db...da questo devi estrarre i dati ricostruire lo script di back up...
...ciao Andrea... |
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
Codice:
public DbStructure(){
Connection connection;
Statement statement;
ResultSet resultSet = null;
try
{
String userName = "user";
String password = "password";
String url = "jdbc:mysql://127.0.0.1/tuodb";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
connection = (Connection) DriverManager.getConnection(url,userName,password);
statement = (Statement) connection.createStatement();
DatabaseMetaData md = connection.getMetaData();
ResultSet mrs = (ResultSet) md.getTables(null, null, null,new String[] { "TABLE" });
while (mrs.next())
{
System.out.println(mrs.getString(3));
ResultSet rs = (ResultSet) statement.executeQuery("SELECT * FROM "+mrs.getString(3)+" LIMIT 1");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
for (int i = 1; i <= numberOfColumns; i++) {
System.out.println("column " + rsMetaData.getColumnName(i)+" "+rsMetaData.getColumnType(i));
}
}
mrs.close();
resultSet.close();
statement.close();
connection.close();
}
catch(Exception e){
System.out.println(e);
}
}
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
grande!!
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
Quote:
...ciao Andrea... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:13.




















