Speicherpfad der *.mdf sowie *.LDF beim erstellen festlegen

  • C#
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von MrTrebron.

    Speicherpfad der *.mdf sowie *.LDF beim erstellen festlegen

    Hallo,
    habe heute angefangen den nächsten schritt in meinem Tool zu machen.
    D.h heißt über c# eine Database zu erstellen. Habe ich die möglichkeit beim erstellen anzugeben, in welchen Pfad die DB inkl. Log angelegt wird.
    Aktuell scheint es, das der Server die Pfade angibt, jedoch würde ich gerne selbst bestimmen wo diese Dateien liegen.

    C#-Quellcode

    1. /// <summary>
    2. /// Creates a New Database
    3. /// </summary>
    4. public void CreateNewDatabase(string _DatabaseName)
    5. {
    6. SqlConnection con = new SqlConnection
    7. {
    8. ConnectionString = "Data Source= ********\\TZCADSQLSERVER;" +
    9. "Integrated Security= True;"
    10. };
    11. con.Open();
    12. _DatabaseName = "CREATE DATABASE " + _DatabaseName + " ;";
    13. using (SqlCommand cmd = new SqlCommand(_DatabaseName, con))
    14. {
    15. cmd.ExecuteNonQuery();
    16. }
    17. }


    Gruß
    Grundsätzlich kann man das machen, siehe docs.microsoft.com/de-de/sql/t…e-sql-server-transact-sql
    aber während der Installation des SQL Server gibt man den Standardpfad der Database Files an. Diesen Pfad kann man nachträglich auch andern.
    Zudem pfuscht man dem DB Armin da ganz schön im Handwerk rum, denn der hat ja den Standardpfad festgelegt.
    Was machst du wenn der Pfad den du gerne hättest nicht vorhanden ist?
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    also das tool soll nur für mich sein also ich bin der admin :-).
    Es geht mir eigtl. nur darum um langsam in die SQL Materie einen weg zu finden und zu sehen was möglich und in wie weit ich SQL per Code(C# oder Vb.net) manipulieren kann, wer weiss wofür es gut ist :-).

    Danke für den Link schaue Ihn mir an :-).

    Nur habe ich das gefühl das man all diese dinge irgendwie im SQL-Manager eintragen kann, also mit automatischen Codes, sehe ich das richtig? Und wenn ja wie mache ich das.

    Als bsp. DB01 hat größe 10 GB erreicht erstelle mir eine neue Db mit der Tabele, ist da möglich?
    Natürlich kann man die DB Größe überwachen und darauf reagieren.
    Ob die Reaktion nun eine Bereinigung und Shrink ist oder das Erstellen einer neuen DB ist dabei vom Anwendungsfall abhängig.

    Nachtrag: Der Link
    docs.microsoft.com/de-de/sql/r…nformation-for-a-database
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Der Hinweis von @petaod ging mir auch durch den Kopf.

    Bitte nicht versuchen die eigentliche Produktiv Datenbank in einer zweiten weiter zu führen.
    1. Alle Anwendungen die auf die DB zugreifen müssten ihren Connection String andern.
    2. Dir fehlen nach einem Schwenk Daten
    3. Tritt wohl nur in der Express Variante auf, alle anderen Editionen haben ein deutlich höheres Limit.
    4. Wenn Daten noch zu Archiv- oder Auswertung benötigt werden, dann erstelle diese DB von Anfang an und verschieben die Daten regelmäßig.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.