Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Attach Databases & Locate Database Files

Îåêßíçóå áðü ôï ìÝëïò γιωργος μπακογιαννης. Τελευταία δημοσίευση από το μέλος γιωργος μπακογιαννης στις 25-10-2007, 09:00. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-02-2007, 12:24 25587

    Attach Databases & Locate Database Files

    Θέλω να κάνω μία ή/και περισσότερες database attach σε ένα SQL Server 2005 που δεν βρίσκεται στο (local) work station με SMO, από VS2005.

    Άρα χρησιμοποιώ: Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(...).

    Όταν ξέρω σε ποιο φάκελο είναι η βάση και ποιο είναι το όνομα της, δεν υπάρχει κανένα πρόβλημα.

    Όταν όμως δεν ξέρω σε ποιο φάκελο είναι και επίσης δεν ξέρω ποιο είναι το όνομα της, πότε χρειάζομαι ένα dialog box σαν αυτό που έχει το SQL Server Management Studio (Locate Database Files), για να μπορώ να εντοπίσω το φάκελο και το όνομα της database.

     

    Είναι αυτό εφικτό;

     

     

     

      


    while (!dead) learn();
  •  07-03-2007, 19:14 26079 σε απάντηση της 25587

    Απ: Attach Databases & Locate Database Files

    Μήπως υπάρχει τουλάχιστον κάποια ιδέα για το που μπορεί να έβρισκα «κάτι» για να μπορέσω να υλοποιήσω κάτι σαν το «Locate Database Files».

    Μια εντολή, ένα site ….

     

    Τελικά είναι τόσο δύσκολο;


    while (!dead) learn();
  •  07-03-2007, 20:35 26082 σε απάντηση της 26079

    Απ: Attach Databases & Locate Database Files

    Μιλάμε για C#/VB.Net ή για SQL Server? Ομολογώ ότι μπερδεύτηκα για τι ακριβώς θες να κάνεις..

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  07-03-2007, 20:54 26084 σε απάντηση της 26082

    Απ: Attach Databases & Locate Database Files

    Δεδομένα:

    1. Ξέρω το όνομα / IP του SQL Server

    2. Ξέρω το user name & password του SQL Server για κάνω login

    3. Δεν ξέρω τη δομή των drivers / folders στο υπολογιστή που έχει εγκατασταθεί ο SQL Server

    4. Δεν έχω πρόσβαση στο υπολογιστή που έχει εγκατασταθεί ο SQL Server πχ \\Server\c$

    5. Δεν θέλω να βάζω τις βάσεις στα καθορισμένα σημεία πχ. «C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\»

     

    Ζητούμενο:

    Θέλω να κάνω attach μία βάση (SQL Server, xxxx.mdf/xxxx.ldf/) μέσα από μια εφαρμογή που θα δημιουργηθεί σε Visual Studio 2005 (C# ή VB.NET).

    Άρα θέλω να μπορεί ο end user να αναζητεί τις βάσεις όπως τις αναζητούμε μέσα από το SQL Server Management Studio μέσω του Locate Database Files.

    Με άλλα λόγια να κατασκευάσω ένα δικό μου «Locate Database Files».


    while (!dead) learn();
  •  07-03-2007, 21:03 26085 σε απάντηση της 26084

    Απ: Attach Databases & Locate Database Files

    Α μάλιστα.. Θα μπορούσες να φτιάξεις ένα UDF (.Net) στον SQL Server απο το οποίο θα ζητάς να σου επιστρέψει τι αρχεία .mdf και .lgf βρήκε στο PATH που του έδωσες σαν παράμετρο.
    Αυτό το αποτέλεσμα θα μπορούσες να το κάνεις parse και να δείξεις το αποτέλεσμα στον χρήστη. Ίσως να έχει κι άλλο τρόπο, αλλά δεν ξέρω πώς.
    Βέβαια, εφόσον δεν έχεις local πρόσβαση στο μηχάνημα, δεν ξέρω εάν τα privs του sql server φτάνουν για να βγεις έξω απο το folder απο το οποίο έχει πρόσβαση για να κάνεις οτιδήποτε.

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  07-03-2007, 21:12 26086 σε απάντηση της 26085

    Απ: Attach Databases & Locate Database Files

    Panagiotis Kefalidis:
    Βέβαια, εφόσον δεν έχεις local πρόσβαση στο μηχάνημα, δεν ξέρω εάν τα privs του sql server φτάνουν για να βγεις έξω απο το folder απο το οποίο έχει πρόσβαση για να κάνεις οτιδήποτε.

    Επειδή έχω μερικές βάσεις (SQL Server) στο εξωτερικό με το SQL Server Management Studio μέσω του Locate Database Files βλέπω όλα τα folder του server.

    Το μόνο που έχω είναι το IP του SQL Server, user name και password για το SQL Server και όχι τον υπολογιστή.


    while (!dead) learn();
  •  16-03-2007, 17:40 26525 σε απάντηση της 25587

    Απ: Attach Databases & Locate Database Files

    Crying
    while (!dead) learn();
  •  17-03-2007, 11:42 26574 σε απάντηση της 26525

    Απ: Attach Databases & Locate Database Files

     

    0) EXEC xp_fixeddrives  (list all fixed drives attached to the server)

    1) EXEC xp_dirtree 'c:\' (list all folders and subfolders of any depth level)

    2) EXEC xp_subdirs 'c:\' (list all folders of the 1st depth level)

    3) Μπορείς να χρησιμοποιήσεις την xp_cmdshell 'dir c:\' με κατάλλη επεξεργασία του result set για να "πάρεις" όλα τα αρχεία μέσα στο folder

    --HTH--

  •  17-03-2007, 14:38 26578 σε απάντηση της 26574

    Απ: Attach Databases & Locate Database Files

    Ευχαριστώ για τις εντολές. Είναι η μέθοδος που χρησιμοποιώ τώρα.

    Δυστυχώς δεν λειτουργούν πάντα.

    Πχ. Εάν έχεις το SQL Server 2005 πρέπει να ενεργοποιήσεις την xp_cmdshell αλλά δεν είναι ότι καλύτερο.

    Από την άλλη το SQL Server Management Studio το κάνει αυτό που θέλω χωρίς την xp_cmdshell.


    while (!dead) learn();
  •  25-10-2007, 07:40 36577 σε απάντηση της 25587

    Απ: Attach Databases & Locate Database Files

    Τελικά με τη βοήθεια της Microsoft Hellas και τον managed news groups της Microsoft βρήκα λύση στο πρόβλημα που είχα εδώ και καιρό. Άπλα τη παραθέτω για να είναι διάθεση και σε οποίων τη θελήσει. Επειδή η λύση στο πρόβλημα είναι σε δημόσιο news group σας τη καταθέτω όπως μου την έδωσε ο Razvan Socol (SQL Server MVP).

    {

    If you use "EXEC master..xp_dirtree 'c:\',1,1" it will tell you if each row represents a file or a folder. If it's a folder, you can process it recursively to get all the files in each subfolder.

    Use Profiler to see what Management Studio does.

    However, you should know that xp_dirtree is an undocumented storedprocedure and it's behavior may change without warning in later versions of SQL Server.

    --

    Razvan Socol

    SQL Server MVP

    }

     

    Συμπληρώνοντας εάν τρέξετε την EXEC master..xp_dirtree 'c:\',0,1  θα έχετε όλα τα αρχεία το SQL Server στο drive «C:\».

    Εάν τρέξετε την EXEC master..xp_dirtree 'c:\*.mdf',0,1  θα έχετε όλες τις βάσης του SQL Server στο drive «C:\».

     

    Tέλος σημαντικό είναι να τονιστεί ότι δεν απαιτείται η ενεργοποίηση της «xp_cmdshell» στο SQL Server 2005

     

    Αυτά [J]


    while (!dead) learn();
  •  25-10-2007, 08:24 36578 σε απάντηση της 36577

    Απ: Attach Databases & Locate Database Files

    Αφού ο spaceman σου είχε πει την xp_dirtree Big Smile


    Vir prudens non contra ventum mingit
  •  25-10-2007, 09:00 36580 σε απάντηση της 36578

    Απ: Attach Databases & Locate Database Files

    Ναι, μου είχε πει για τη «xp_dirtree»:

     

    spaceman:
    1) EXEC xp_dirtree 'c:\' (list all folders and subfolders of any depth level)

     

    και εγώ που είχα πει:

    «Είναι η μέθοδος που χρησιμοποιώ τώρα.»

     

    Αλλά αυτό που δε ξέραμε τελικά και οι δύο, ήταν ότι εκτός από folders αναζήτηση, η  xp_dirtree  μπορεί να αναζητάει και αρχεία βάζοντας τις άλλες δύο παράμερους.


    while (!dead) learn();
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems