2009-04-13 12 views
0

Ich habe eine ASP.NET 2.0-Website gemacht und es verwendet zwei Datenbanken nämlich aspnetdb und my_db.Ich führte die aspnet_regsql.exe -E-localhost -A MR-Tool und ich habe die Aspnetdb .mdf in meinem Projekt.Ich habe es für die Bereitstellung von Login-Funktionen für meine Website verwendet. Jetzt möchte ich die Site auf einem entfernten Hosting-Server veröffentlichen, den ich gekauft habe. Sie haben mir die Details des Servers mitgeteilt, mit dem ich mich verbinden muss, und ich konnte das erfolgreich durchführen. Jetzt ist das Szenario das: -Veröffentlichung von SQL 2005-Datenbank auf Remote-Host

1) Meine Site unterstützt eine einzelne MS SQL Server-Datenbank, und ich verwende zwei Datenbanken. Wie kann ich diese beiden Datenbanken zu einer zusammenführen und auch alle Seiten mit der Änderung beim Zugriff auf die entsprechende Datenbank aktualisieren und dann veröffentlichen.

2) Ich möchte die Aspnetdb in einen anderen Namen umbenennen, da ich Fehler erhalte, wenn ich die Datenbank mit dem Namen aspnetdb auf dem Server veröffentliche (es sagt, die Datenbank existiert bereits, aber ich konnte nicht finde es). Wie kann ich es effektiv umbenennen?

3) Wie die vereinigte Datenbank korrekt an den Remote-Standort veröffentlichen, muss ich auch die Verbindungszeichenfolgen berücksichtigen? Bisher war ich der lokale Benutzer, ich habe keinen Benutzernamen und kein Passwort angegeben, aber auf der Site würde ich einen Benutzer für den SQL-Server erstellen. Wie kann ich es sicher in mein Projekt integrieren?

Ich hoffe, ich habe mein Problem richtig erklärt und auf eine Lösung gewartet.

Dank

Antwort

1

Mann, bestes Werkzeug, das mein Leben für diesen geändert hat, ist Redgate Daten vergleichen. es überprüft beide DBs und synchronisieren Sie alles in ihnen, und es gibt Ihnen auch das SQL-Skript dafür.

hoffe das hilft.

2

Haben Sie ein paar Fragen hier, also werde ich sie beide brechen.

1) Wie kann ich fusionieren diese beiden Datenbanken in einer

Devmania erwähnt Red Gate Daten vergleichen, also werde ich Quest Toad for SQL Server erwähnen, die auch die gleiche Sache tut. Haftungsausschluss, aber - ich arbeite für Quest. Sie können die v4.5 Beta herunterladen, die jetzt kostenlos ist, und sie hat die Daten & Schema vergleichen Funktionen.

und aktualisieren Sie auch alle Seiten mit der Änderung beim Zugriff auf die entsprechende Datenbank, und veröffentlichen Sie es dann.

Leider ändert niemand Werkzeug Ihren Code.

2) Ich möchte die Aspnetdb in einen anderen Namen umbenennen, da ich Fehler erhalte, wenn ich die Datenbank mit dem Namen aspnetdb auf dem Server veröffentliche (es sagt, die Datenbank existiert bereits, aber ich konnte nicht es zu finden). Wie kann ich es effektiv umbenennen?

Wechseln Sie in SQL Server Management Studio, stellen Sie eine Verbindung zum Datenbankserver her, klicken Sie mit der rechten Maustaste auf den Datenbanknamen, und klicken Sie auf Umbenennen.

3) Wie veröffentliche ich die zusammengeführte Datenbank korrekt an den Remote-Standort, muss ich auch die Verbindungszeichenfolgen berücksichtigen?

Wenden Sie sich an Ihren Hosting-Anbieter, da nicht alle von ihnen den SSMS-Zugriff remote ermöglichen. Wenn dies der Fall ist, müssen Sie Ihre Datenbank scripten und sie dann auf die entfernte Datenbank anwenden. Toad enthält die Möglichkeit, das Schema und die Daten in Ihrer Datenbank zu scripten.

Bisher war ich der lokale Benutzer, ich habe keinen Benutzernamen und kein Passwort angegeben, aber auf der Website würde ich einen Benutzer für den SQL Server erstellen. Wie kann ich es sicher in mein Projekt integrieren?

Wechseln Sie in SQL Server Management Studio in die Datenbank Sicherheit, Anmeldungen. Sie können dort mit der rechten Maustaste klicken, eine neue Anmeldung erstellen und die SQL-Authentifizierung verwenden. Geben Sie den Benutzernamen und das Passwort an und Sie können dem Login nur die gewünschten Berechtigungen geben. Ich würde eine separate für Ihre Webanwendung verwenden, die nur db_datareader und db_datawriter, nicht db_owner hatte. Der Besitzer hat die Möglichkeit, das Schema zu ändern, und Ihre App sollte das nicht tun. Falls Sie gehackt werden und jemand den Benutzernamen/das Passwort stiehlt, werden sie zumindest Ihr Schema nicht ändern.