Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Server 2016 Grundkurs: Administration

Contained Database

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn Sie eine Datenbank z.B. nach Microsoft Azure oder in eine andere Instanz verschieben, müssen Sie das Login von Benutzern neu konfigurieren. Wie Sie dazu vorgehen, erklärt Ihnen dieser Film.
07:13

Transkript

Ich möchte Ihnen jetzt ein weiteres Thema vorstellen, die sogenannten "Contained Databases", beziehungsweise was steckt dahinter. Wenn Sie jetzt eine Datenbank verschieben, zum Beispiel nach SQL Azure, oder wie wir es jetzt mit "Backup and Recovery" gemacht haben in eine andere Instanz. Und es existiert immer Abhängigkeiten zum Login, dann ist es natürlich eine Einschränkung beziehungsweise in Azure so auch nicht möglich, weil Microsoft einem ja dann nicht, wenn man eine Datenbank in SQL Azure hosted, Zugriff auf die Instanz gibt. Das heißt also diese Abhängigkeiten müssen entkoppelt aufgebrochen werden. Wie kann man so was umsetzen? Im Grunde genommen gibt es dafür 2 Dinge, die man Erstmal vorab konfigurieren muss: Eine Sache muss auf Instanzebene konfiguriert werden, dazu mache ich mal ein Scriptfenster auf, gebe mal die Prozedur "sp_configure" ein, drücke "F5" und habe hier die "Contained Database Authentication", die im Moment aktuell nicht aktiv ist. Ich nehme das mal in die Zwischenablage, weil ich mir diesen Parameter jetzt einfach mal auf Tool setze, füge mir das ein, sage ",1". Das heißt, ich möchte also, dass die Werte jetzt von 0 auf 1 gesetzt werden, führe das zunächst aus, markiere dann "sp_configure", führe das noch mal aus, und sehe, dass ich dann für Contained Databases den Config_Value jetzt auf 1 habe, den Run_Value noch nicht. Den Run_Value, also das ist der Wert, der auch ausgeführt nicht bisher konfiguriert wird, das bekomme ich hier, indem ich sage "reconfigure", führe das jetzt an der Stelle aus, markiere mir noch mal "sp_configure" führe es aus und sehe, dass jetzt sowohl der Config_Value als auch der Run_Value auf 1 gesetzt wird. Schritt 1: Ich aktiviere das Thema "Contained Database Authentication" auf Instanzebene. Schritt 2: Ich nehme meine jeweilige Datenbank, bevor ich das aber jetzt in der Datenbank mache, schauen wir uns mal Folgendes an, weil es eine kleine Veränderung gibt. Wir hatten ja das Thema "Sicherheit", wir hatten das Thema "Benutzer für eine Datenbank", also neuen Datenbankbenutzer, und wir haben hier oben bisher immer Benutzer mit Anmeldenamen verwendet. Wenn wir jetzt mal schauen, hier gibt es natürlich auch einen SQL-Benutzer ohne Anmeldenamen, Windows-Benutzer, wir haben insgesamt 1,2,3,4,5 also Schlüsselzertifikat, und dann die 3 SQL mit Anmelde-, SQL ohne Anmelde- und Windows-Benutzer drin, also fünf Einträge. Ich breche das ab, ich gehe zu der Datenbank, rechte Maustaste, "Eigenschaften" gehe dann in die "Optionen" und habe hier den Containment Type, also diesen Einschlusstyp, und den lege ich hier mal fest auf "Partial" beziehungsweise zu Deutsch auf "Teilweise". Aktiviere das Ganze, also einmal für die Instanz global, im zweiten Schritt jetzt jeweils für die Datenbank. Er bringt mir jetzt hier eine Fehlermeldung, platziert konnte, weil keine Sperre und so weiter, das heißt also auch hier mache ich wieder mal 1, ich begebe mich aus allem hinaus, starte mein "Management Studio" neu, und ändere dann das nochmal für die jeweilige Datenbank. "Verbinden", die Datenbank, "Eigenschaften", "Optionen", Einschlusstyp-Teilweise, "OK", und damit ist das Thema durch. Das waren soweit die Vorbereitungen, jetzt hatte ich gesagt, wir wollen mal darauf achten, wenn wir jetzt zum Knoten "Sicherheit" wieder gehen, zu den Benutzern, und sagen "Neuer Datenbankbenutzer", ob sich etwas verändert hat, und siehe da, wir haben jetzt sechs Einträge. Das heißt, wir haben einmal den SQL-Benutzer mit Anmeldenamen, also mit Login. Wir haben den SQL-Benutzer mit Kennwort, das ist neu dazu gekommen, den SQL-Benutzer ohne Anmeldenamen und den Windows. Und ich wähle jetzt mal den SQL-Benutzer mit Kennwort, trage jetzt mal einen Benutzernamen ein, ich nehme hier also "HHansen", hinterlege das Kennwort, und im Grunde genommen kann ich sagen "Mitgliedschaft", und berechtige Ihnen jetzt innerhalb der Datenbank Datareader, Datawriter. Führe das aus, soweit existiert jetzt hier der "HHansen". Noch mal die Kontrolle im Gegenzug, im Login, also im Knoten "Sicherheit" unter "Anmeldungen", haben wir den nicht. Was wäre jetzt der nächste Schritt? Die Datenbank ist die "sqlXpert" Datenbank, und der Benutzer HHansen. Das heißt, ich trenne mal meine Verbindung, wähle jetzt eine Verbindung zum Datenbankmodul, mit dem Unterschied, dass ich jetzt hier sage Erstmal "SQL Server-Authentifizierung", ich gehe zur "Optionen", habe hier oben meine Datenbank, die ich eintrage. Also ich möchte mich jetzt mal eine Verbindung mit einer Datenbank herstellen, mit der Anmeldung HHansen, mit dem entsprechenden Passwort. Das bestätige ich, indem ich jetzt die Verbindung wähle, und sehe da, ich habe eine Verbindung. Im Grunde genommen, fällt schon sofort auf, dass hier so das Symbol zwar die Instanz auf der einen Seite repräsentiert aber eigentlich von der Instanz selber nichts zu sehen ist. Ich habe meine Datenbank, oder Datenbanken. Habe nur den Bereich, den Scope, der mich etwas angeht, habe mich angemeldet, das klappt auch, und entsprechend natürlich im Knoten "Sicherheit", den Benutzer, der hinterlegt ist, und kann hier auf meine Objekte zugreifen in dem Moment die Tabelle. Im Vergleich zu den herkömmlichen Verfahren, wenn wir also ein Benutzer mit Login haben, und demzufolge auch die Abhängigkeit, sieht das Ganze ja etwas anders aus, das heißt, man sieht jetzt hier sehr schön das ist dieses Thema hier oben, "Contained Database". Also im Grunde genommen Vergleich, Instanz, Knoten "Datenbanken", ich sehe oben nur den Knoten "Datenbanken". Meine Datenbank, alles, was sonst Abhängigkeiten zur Instanz ist wie Sicherheitsserver-Objekte, Agent und so weiter ist völlig außen vor. Wenn ich diese Datenbank jetzt sichere auf einer anderen Instanz, wo auch die Contained Databases aktiv sind, wieder herstelle, brauche ich mich nicht um die Abhängigkeiten zu kümmern von dem User, denn bei Backup geht der Benutzer ja mit wird auf der anderen Instanz restored, und dann muss ich mich zusätzlich ein Login oder irgendetwas aus der anderen Instanz anlegen. Das ist also auch gut geeignet, um Datenbanken nachher nach SQL Azure zu verschieben.

SQL Server 2016 Grundkurs: Administration

Erlernen Sie die Administration des SQL Server 2016 vom Umgang mit dem Management Studio bis zu Automatisierung und Monitoring.

6 Std. 10 min (60 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!