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

 

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

SQL Server 2005 Database Schema Backup

Îåêßíçóå áðü ôï ìÝëïò sql100. Τελευταία δημοσίευση από το μέλος KelMan στις 21-09-2006, 17:32. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  21-09-2006, 11:19 17014

    SQL Server 2005 Database Schema Backup

    Έχω έναν SQL Server 2005 ο οποίος φιλοξενεί μια μεγάλη σε μέγεθος βάση στην οποία κάνω συνεχώς αλλαγές στο schema

    Θέλω κάθε βράδυ να παίρνω backup μόνο το schema (όχι τα data) δηλ. stored procedures, tables, views κλπ

    Υπάρχει κάποιος τρόπος να το κάνω αυτοματοποιημένα στον SQL Server 2005 και να το προγραμματίζω να γίνεται κάθε βράδυ? Η επιλογή Scirpt Database To.... δυστυχώς δεν παρέχει τη δυνατότητα να δω τον κώδικα που εκτελεί....

    Ευχαριστώ

     

  •  21-09-2006, 16:29 17022 σε απάντηση της 17014

    SQL Server 2005 Database Schema Backup

    Πιο συγκεκριμένα, προσπάθησα να χρησιμοποιήσω SMO για να πάρω το script αλλά αυτό που κατάφερα είναι να πάρω τα sp, τα tables, τις views κλπ. Όμως δεν κατάφερα να πάρω τα foreign keys μόνα τους στο τέλος του script ( και όχι μετά τη δημιουργία του κάθε πίνακα ) ώστε να μην χτυπήσει όταν το εκτελέσω

    Ευχαριστώ
  •  21-09-2006, 16:43 17023 σε απάντηση της 17022

    Απ: SQL Server 2005 Database Schema Backup

    το tasks -> generate script το δοκίμασες;
  •  21-09-2006, 17:32 17025 σε απάντηση της 17022

    Απ: SQL Server 2005 Database Schema Backup

    H επιλογή του SMO είναι πολύ σωστή. Ίσως έκανες κάποιο λάθος στην υλοποίηση του κώδικα. Το παρακάτω τοποθετεί τα ALTER TABLE για τα foreign keys στο τέλος του παραγόμενου script.



    Imports Microsoft.SqlServer
    Imports Microsoft.SqlServer.Management.Smo
    Imports System.Collections.Specialized
    Imports System.Collections.Generic

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim myServer As Server = New Server("BASE04A")
            Dim scriptGenerator As Scripter = New Scripter(myServer)
            Dim myDB As Database = myServer.Databases("Northwind")
            Dim generatedScript As StringCollection = New StringCollection()

            Dim smoObj As New List(Of SqlSmoObject)

            'Repeat this loop for other db object types
            For Each tbl As Table In myDB.Tables
                smoObj.Add(tbl)
            Next

            'Repeat for other options
            scriptGenerator.Options.DriForeignKeys = True

            generatedScript = scriptGenerator.Script(smoObj.ToArray)

            For Each str As String In generatedScript
                TextBox1.Text &= str & ControlChars.CrLf
            Next
        End Sub
    End Class

     


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems