{"id":55001057,"date":"2016-10-01T00:00:00","date_gmt":"2021-03-22T16:33:44","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1057"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Access_und_SQL_Server_LocalDB","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/","title":{"rendered":"Access und SQL Server LocalDB"},"content":{"rendered":"<p><b>Seit SQL Server 2012 gibt es eine kleine, aber feine Instanz des SQL Servers namens LocalDB. Dabei handelt es sich um eine SQL Server-Engine, die zwar einige Unterschiede zur Vollversion des SQL Servers aufweist, aber auch einige Features bietet, die gerade f\u00fcr Access-Entwickler interessant sind. Eines vorweg: Sie k\u00f6nnen damit nur lokale Datenbanken betreiben, also solche, die auf dem gleichen Rechner wie das Frontend liegen. Ansonsten aber bietet diese Version fast alles, was das Entwicklerherz begehrt.<\/b><\/p>\n<p>Der Grund, weshalb ich mich vor einiger Zeit \u00fcber LocalDB informiert habe, war der, dass ich eine einfache M\u00f6glichkeit suchte, eine SQL Server-Instanz zu installieren und zu starten und ohne Umschweife damit arbeiten zu k\u00f6nnen. Ach ja &#8211; und kostenlos sollte sie auch noch sein. Wer schon einmal eine SQL Server-Installation durchgef\u00fchrt hat, wei\u00df, dass dies eine ziemlich aufwendige und zeitraubende Sache sein kann. Das ist auf jeden Fall nichts, was Sie mal eben durchf\u00fchren wollen, um kurz etwas zu testen. Die schnelle Installation ist aber auch nur der wichtigste Punkt, weitere folgen weiter unten.<\/p>\n<h2>Download von SQL Server LocalDB<\/h2>\n<p>Mit LocalDB verh\u00e4lt es sich anders: Mit der Google-Suche nach <b>localdb download <\/b>landen Sie schnell auf einer Seite, die den Download von <b>Microsoft SQL Server 2016 Express <\/b>anbietet. Diesen k\u00f6nnen Sie beziehen und die Installation starten, um dann im Auswahlmen\u00fc LocalDB zu installieren. Alternativ verwenden Sie den direkten Download der Datei <b>SqlLocalDB.msi<\/b>, die Sie zur Drucklegung dieses Beitrags etwa unter folgendem Link finden:<\/p>\n<pre>https:\/\/download.microsoft.com\/download\/E\/1\/2\/E12B3655-D817-49BA-B934-CEB9DAC0BAF3\/SqlLocalDB.msi<\/pre>\n<h2>Installation von SQL Server LocalDB<\/h2>\n<p>Die komplette Installationsdatei ist sage und schreibe nur 45 MB gro\u00df! Die Installation brauchen wir an dieser Stelle nicht zu beschreiben, denn diese enth\u00e4lt keinerlei Optionen, an denen Sie Entscheidungen treffen m\u00fcssten. Daf\u00fcr gibt es nach der Installation aber auch keinen einzigen neuen Eintrag etwa im Startmen\u00fc von Windows. Wozu auch Das Programm wird ohnehin nur gestartet, wenn Sie von einem Client aus auf die Instanz zugreifen.<\/p>\n<h2>Stille Installation von SQL Server LocalDB<\/h2>\n<p>Wenn Sie m\u00f6chten, k\u00f6nnen Sie die Installation auch komplett ohne Benutzeroberfl\u00e4che durchf\u00fchren. Dazu rufen Sie \u00fcber die Kommandozeile die folgende Anweisung auf (Sie m\u00fcssen sich dazu im gleichen Verzeichnis wie die Datei <b>SqlLocalDB.msi <\/b>befinden):<\/p>\n<pre>msiexec \/i SqlLocalDB.msi \/qn IACCEPTSQLLOCALDBLICENSETERMS=YES<\/pre>\n<p>Beachten Sie, dass Sie die Eingabeaufforderung dazu als Administrator ausf\u00fchren m\u00fcssen. Dazu suchen Sie den Befehl <b>Eingabeaufforderung<\/b>, beispielsweise \u00fcber das Suchfeld von Windows, und klicken dann mit der rechten Maustaste auf den gefundenen Eintrag. Dort finden Sie dann den Kontextmen\u00fc-Eintrag <b>Als Administrator ausf\u00fchren<\/b>.<\/p>\n<h2>Zugriff per Eingabeaufforderung<\/h2>\n<p>Nun k\u00f6nnen Sie bereits \u00fcber die Eingabeaufforderung auf LocalDB zugreifen. Geben Sie beispielsweise den Befehl <b>sqllocaldb &#8211; <\/b>ein, um Informationen \u00fcber die verf\u00fcgbaren Befehle zu erhalten. Ein Befehl lautet etwa wie folgt:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb info\nMSSQLLocalDB\nv11.0<\/pre>\n<p>Dies gibt die Namen aller Instanzen aus. Auf diesem Rechner sind zwei verschiedene Versionen installiert &#8211; 2016 ist die aktuelle Instanz, die mit dem Namen <b>MSSQLLocalDB <\/b>angegeben wird. Die Instanz der Version von 2012 wird mit <b>v11.0 <\/b>angegeben. Dies sind auch gleich die Namen, unter denen Sie in den sp\u00e4ter vorgestellten Verbindungszeichenfolgen auf die Instanzen zugreifen k\u00f6nnen.<\/p>\n<p>Wenn Sie genau wissen m\u00f6chten, welche Versionen in-stalliert sind, setzen Sie folgende Anweisung ab:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb versions\nMicrosoft SQL Server 2012 (11.0.2100.60)\nMicrosoft SQL Server 2016 (13.0.1601.5)<\/pre>\n<p>Hier erhalten Sie also die vollst\u00e4ndigen Versionshinweise.<\/p>\n<h2 data-tadv-p=\"keep\">SQL Server LocalDB-Instanz starten<\/h2>\n<p>Um eine Instanz zu starten, verwenden Sie den Start-Parameter und geben den Namen der zu startenden Instanz an:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb start \"MSSQLLocalDB\"\nDie LocalDB-Instanz ''''mssqllocaldb'''' wurde gestartet.<\/pre>\n<p>Mit <b>Stop <\/b>k\u00f6nnen Sie die Instanz anhalten:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb stop \"MSSQLLocalDB\"\nDie LocalDB-Instanz ''''mssqllocaldb'''' wurde beendet.<\/pre>\n<p>Hier haben wir nun die Standardinstanz gestartet. Sie k\u00f6nnen auch weitere Instanzen erzeugen. Um etwa eine Instanz namens <b>Beispielinstanz <\/b>zu starten, verwenden Sie den folgenden Befehl:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb create \"Beispielinstanz\"\nDie LocalDB-Instanz ''''Beispielinstanz'''' wurde mit Version 11.0 erstellt.<\/pre>\n<p>Eine solche Instanz k\u00f6nnen Sie nat\u00fcrlich auch wieder l\u00f6schen:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb delete \"Beispielinstanz\"\nDie LocalDB-Instanz ''''Beispielinstanz'''' wurde gel\u00f6scht.<\/pre>\n<p>Wenn Sie mehrere Versionen installiert haben und eine Instanz f\u00fcr eine spezielle Version erstellen m\u00f6chten, geben Sie die Version wie folgt an:<\/p>\n<pre>C:UsersUser&gt;sqllocaldb create \"Beispielinstanz\" 13.0\nDie LocalDB-Instanz ''''Beispielinstanz'''' wurde mit Version 13.0 erstellt.<\/pre>\n<h2>Zugriff per SQL Server Management Studio<\/h2>\n<p>F\u00fcr uns ist aber viel inte-ressanter: Wie kann ich nun auf eine solche Instanz zugreifen, um eine Datenbank mit Tabellen und weiteren Objekten zu erstellen Und wie greife ich dann von Access aus auf diese Datenbank zu Auch das ist kein Problem. Unter folgendem Link finden Sie eine kostenlose Version des SQL Server Management Studio in der neuesten Version von 2016:<\/p>\n<pre>https:\/\/msdn.microsoft.com\/de-de\/library\/mt238290.aspx<\/pre>\n<p>Nach dem Download und der Installation k\u00f6nnen Sie SQL Server Management Studio auch direkt starten. Es erscheint nun das Hauptfenster und der Dialog zum Herstellen einer Verbindung mit dem gew\u00fcnschten Server (s. Bild 1). Hier tragen Sie, wenn Sie nur eine Version von <b>LocalDB <\/b>installiert haben, den folgenden Server ein:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_001.png\" alt=\"Das SQL Server Management Studio nach dem Start\" width=\"649,4275\" height=\"369,0688\" \/><\/p>\n<\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 1: Das SQL Server Management Studio nach dem Start<\/span><\/b><\/p>\n<pre>(localdb)MSSQLLocalDB<\/pre>\n<p>Oder, wenn Sie eine \u00e4ltere, parallel installierte Instanz verwenden wollen, wie etwa auf meinem Rechner, den folgenden Server f\u00fcr die Version 2012:<\/p>\n<pre>(localdb)v11.0<\/pre>\n<p><!--30percent--><\/p>\n<p>Sie k\u00f6nnen auch auf die selbst erstellte Instanz zugreifen:<\/p>\n<pre>(localdb)Beispielinstanz<\/pre>\n<p>Grunds\u00e4tzlich gilt hier die Regel, dass Sie mit dem SQL Server Management Studio nicht auf LocalDB-Versionen zugreifen k\u00f6nnen, die neuer sind als die installierte SQL Server Management Studio-Version. Die Nutzung von LocalDB in der Version von 2016 ist also mit der hier installierten Version 2014 des SQL Server Management Studios nicht m\u00f6glich.<\/p>\n<h2>Datenbanken in SQL Server LocalDB bearbeiten<\/h2>\n<p>Sie k\u00f6nnen dann nach erfolgreichem Verbindungsaufbau direkt wie mit der Vollversion des SQL Servers neue Datenbanken anlegen, Tabellen hinzuf\u00fcgen, Felder bearbeiten und mehr. In Bild 2 sehen Sie eine Beispieldatenbank, die mit dem SQL Server Management Studio auf Basis von LocalDB erstellt wurde. Wie Sie das Datenmodell einer solchen Beispieldatenbank erstellen, erfahren Sie im Beitrag <b>SQL Server-Datenbank erstellen <\/b>(<b>www.access-im-unternehmen.de\/1055<\/b>).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_002.png\" alt=\"Bearbeiten einer Tabelle in einer LocalDB-Datenbank\" width=\"700\" height=\"433,4591\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 2: Bearbeiten einer Tabelle in einer LocalDB-Datenbank<\/span><\/b><\/p>\n<h2>Zugriff von Access auf SQL Server LocalDB<\/h2>\n<p>Nun kommt der interessanteste Teil: Wir wollen von Microsoft Access aus eine LocalDB-Datenbank als Backend verwenden. Das gelingt, nach aktueller Empfehlung von Microsoft, am besten mit einer ODBC-Verbindung. Um eine solche herzustellen, k\u00f6nnten Sie mit Bordmitteln arbeiten. Wir haben das ausprobiert und den neuesten ODBC-Treiber f\u00fcr den SQL Server verwendet, aber der Zugriff gelingt nicht, wie Bild 3 zeigt. Das Problem liegt darin, dass wir nicht \u00fcber den Parameter <b>SERVER<\/b>, sondern <b>DATA SOURCE <\/b>auf LocalDB zugreifen m\u00fcssen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_003.png\" alt=\"Fehler beim Versuch, per Datenquelle auf LocalDB zuzugreifen\" width=\"649,4275\" height=\"349,4676\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 3: Fehler beim Versuch, per Datenquelle auf LocalDB zuzugreifen<\/span><\/b><\/p>\n<p>Zum Gl\u00fcck haben wir aber ein paar Tools entwickelt, mit denen das noch schneller und besser geht. Den aktuellen Stand dieser Tools beschreiben wir im Beitrag <b>SQL Server-Tools <\/b>(<b>www.access-im-unternehmen.de\/1061<\/b>) in der n\u00e4chsten Ausgabe &#8211; dort sind beispielsweise die \u00e4nderungen enthalten, die f\u00fcr den Zugriff auf LocalDB-Datenbanken n\u00f6tig sind. Zumindest erhalten Sie damit eine gangbare Verbindungszeichenfolge, die wie folgt aussieht:<\/p>\n<pre>ODBC;DRIVER={ODBC Driver 11 for SQL Server};DATA SOURCE=(localdb)MSSQLLocalDB;\nDATABASE=Suedsturm;Trusted_Connection=Yes;OPTION=3;<\/pre>\n<h2 data-tadv-p=\"keep\">Wichtig: Aktueller Datenbanktreiber<\/h2>\n<p>Wichtig ist, dass Sie einen halbwegs aktuellen Datenbanktreiber verwenden. Das hei\u00dft also entweder mindestens den <b>SQL Server Native Client 11.0 <\/b>(SQL Server 2012) oder den entsprechenden <b>ODBC Driver for SQL Server<\/b>. Das ist wichtig, weil es LocalDB ja erst seit SQL Server 2012 gibt &#8211; vorherige Versionen verweigern den Zugriff auf LocalDB.<\/p>\n<p>Mit den dort beschriebenen Techniken haben Sie im Handumdrehen Verkn\u00fcpfungen zu den Tabellen der LocalDB-Datenbank angelegt, die dann wie in Bild 4 im Navigationsbereich erscheinen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_004.png\" alt=\"Lokale und verkn\u00fcpfte Tabellen\" width=\"424,6255\" height=\"548,232\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 4: Lokale und verkn\u00fcpfte Tabellen<\/span><\/b><\/p>\n<p>Wenn wir die verkn\u00fcpften Tabellen \u00f6ffnen, erhalten wir au\u00dferdem schnell Zugriff auf die enthaltenen Daten. Nun haben wir im Beitrag <b>SQL Server-Datenbank erstellen <\/b>(<b>www.access-im-unternehmen.de\/1055<\/b>) erstmal nur die Daten der Tabelle <b>tblAnreden<\/b> hinterlegt.<\/p>\n<p>Die \u00fcbrigen Daten sind also noch offen. Aber da wir die Struktur der Tabellen eins zu eins \u00fcbernommen haben, k\u00f6nnen wir die Daten theoretisch leicht von den lokalen Tabellen in die verkn\u00fcpften Tabellen \u00fcberf\u00fchren. Dazu \u00f6ffnen Sie einfach jeweils die beiden Versionen einer Tabelle, kopieren alle Datens\u00e4tze der lokalen Tabelle und f\u00fcgen diese in der verkn\u00fcpften Version der Tabelle ein. So war zumindest der Plan.<\/p>\n<p>Allerdings gelingt dies schon nicht mehr, sobald die Datens\u00e4tze in den Ursprungstabellen nicht durchnummeriert sind. Denn beim Einf\u00fcgen legt der SQL Server die Prim\u00e4rschl\u00fcsselwerte nach den vorgegebenen Regeln an und \u00fcbernimmt nicht die Werte der hineinkopierten Datens\u00e4tze. Die Details, wie wir die Daten aus den Access-Tabellen in die SQL-Server-Tabellen kopiert haben, beschreiben wir im Beitrag <b>Daten von Access zum SQL Server kopieren <\/b>(<b>www.access-im-unternehmen.de\/1056<\/b>).<\/p>\n<h2>Von der .mdf-Datei zum Datenzugriff<\/h2>\n<p>Wenn Sie nun, wie es etwa mit den Beispieldateien zu diesem Beitrag der Fall ist, eine <b>.mdf<\/b>-Datei mit einer per LocalDB erstellten Datenbank und eine <b>.accdb<\/b>-Datei mit den entsprechenden Verkn\u00fcpfungen auf die Tabellen der LocalDB-Datenbank erhalten, wollen Sie diese nat\u00fcrlich unter Access verf\u00fcgbar machen. Wenn Sie die Datenbankdatei aus dem Download zu diesem Beitrag \u00f6ffnen und einfach doppelt auf eine der dort angegebenen Tabelleverkn\u00fcpfungen wie etwa <b>tblAnreden <\/b>klicken, erhalten Sie zun\u00e4chst eine Fehlermeldung wie die aus Bild 5.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_005.png\" alt=\"Fehler beim Zugriff ohne Vorhandensein von LocalDB\" width=\"424,6255\" height=\"279,218\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 5: Fehler beim Zugriff ohne Vorhandensein von LocalDB<\/span><\/b><\/p>\n<p>Ist es nun kompliziert, die Verbindung zu der <b>.mdf<\/b>-Datei herzustellen Nein! Einer von zwei Schritten, die n\u00f6tig sind, wenn sich die <b>.accdb<\/b>&#8211; und die <b>.mdf<\/b>-Datei im gleichen Verzeichnis befinden, ist die Installation von <b>Microsoft SQL Server 2016 LocalDB<\/b>, also der bereits weiter oben erw\u00e4hnten rund 44 MB gro\u00dfen Datei.<\/p>\n<p>Von obigem Fehler ausgehend brauchen wir noch nicht einmal die Access-Datenbank neu zu \u00f6ffnen und k\u00f6nnen direkt per Doppelklick auf die Tabellenverkn\u00fcpfung auf die Daten der LocalDB-Datenbank zugreifen.<\/p>\n<h2 data-tadv-p=\"keep\">SQLCMD.exe installieren<\/h2>\n<p>Der zweite ist die Installation des Kommandozeilentools <b>SQLCMD.exe<\/b>. Dieses finden Sie in einem Download namens <b>Microsoft SQL Server Feature Pack<\/b>, f\u00fcr die Version 2016 etwa unter dem folgenden Link:<\/p>\n<pre>https:\/\/www.microsoft.com\/de-DE\/download\/details.aspxid=52676<\/pre>\n<p>Hier w\u00e4hlen Sie als Download den Eintrag <b>DEUx64MsSqlCmdLnUtils.msi <\/b>aus. Achten Sie auf die richtige Version f\u00fcr 32- oder 64bit, also <b>x86 <\/b>beziehungsweise <b>x64<\/b> (s. Bild 6). Achtung: Wenn Sie beide Versionen herunterladen, erhalten Sie einen Download namens <b>MsSqlCmdLnUtils.msi <\/b>und einen namens <b>MsSqlCmdLnUtils(1).msi<\/b>. Die Version f\u00fcr 64bit (X64) ist jedoch in der Version f\u00fcr SQL Server 2016 etwas gr\u00f6\u00dfer (ca. 2,5 MB).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_006.png\" alt=\"Download des Kommandozeilentools SQLCMD\" width=\"649,4275\" height=\"480,0941\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 6: Download des Kommandozeilentools SQLCMD<\/span><\/b><\/p>\n<p>Nach dem Download installieren Sie das Tool auf dem Zielrechner. Das Kommandozeilentool nutzen Sie, wie der Name schon sagt, \u00fcber die Kommandozeile, die Sie etwa unter Windows 10 durch einfaches Eintragen der Zeichenfolge <b>cmd <\/b>in das <b>Suchen<\/b>-Fenster finden.<\/p>\n<p>In der Liste der Suchergebnisse klicken Sie dann einfach auf den Eintrag <b>Eingabeaufforderung<\/b> (s. Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_009.png\" alt=\"Start der Eingabeaufforderung\" width=\"349,6916\" height=\"554,3455\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 7: Start der Eingabeaufforderung<\/span><\/b><\/p>\n<p>Es erscheint dann das bekannte Fenster mit dem schwarzen Hintergrund, in das Sie dann auch gleich den Befehl <b>SQLCMD <\/b>eingeben k\u00f6nnen, um das Tool zu starten (s. Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1057_008.png\" alt=\"Start des Kommandozeilentools SQLCMD\" width=\"499,5594\" height=\"253,8448\" \/><\/p>\n<p><b><span style=\"color: darkgrey;\">Bild 8: Start des Kommandozeilentools SQLCMD<\/span><\/b><\/p>\n<p>Damit haben Sie allerdings noch keine Verbindung mit einem SQL Server oder der Anwendung LocalDB hergestellt. Dazu geben Sie als Parameter noch zus\u00e4tzlich Folgendes an:<\/p>\n<pre>sqlcmd -S \"(localdb)MSSQLLocalDB\"\n1&gt;<\/pre>\n<p>Den Servernamen sollten Sie sicherheitshalber in Anf\u00fchrungszeichen setzen, da es sonst zu Problemen wegen der Klammer-Zeichen kommen k\u00f6nnte.<\/p>\n<h2>Datenbank anh\u00e4ngen<\/h2>\n<p>Wozu nun ben\u00f6tigen wir SQLCMD \u00fcberhaupt Wir gehen davon aus, dass Sie aus dem Clientrechner nicht extra noch das SQL Server Management Studio installieren m\u00f6chten, nur um die LocalDB-Datenbank lauff\u00e4hig zu machen. Wir ben\u00f6tigen aber ein Tool, um die Datenbankdatei, in unserem Fall also etwa <b>Suedsturm.mdf <\/b>und zus\u00e4tzlich die Protokolldatei <b>Suedsturm_log.mdf <\/b>an LocalDB &#8222;anzuh\u00e4ngen&#8220;.<\/p>\n<p>Dazu geben Sie nach dem Verbinden mit LocalDB einfach die Anweisungen aus Listing 1 in die Eingabeaufforderung ein. Lassen Sie sich nicht von der <b>CREATE DATABASE<\/b>-Anweisung irritieren, denn wenn die Dateien bereits vorhanden sind, werden diese nicht erzeugt, sondern nur angeh\u00e4ngt &#8211; daf\u00fcr dient auch das Schl\u00fcsselwort <b>FOR ATTACH <\/b>am Ende des Befehls.<\/p>\n<pre>USE [master]\nGO\nCREATE DATABASE [Suedsturm] ON \n( FILENAME = N''''C:...Suedsturm.mdf'''' ),\n( FILENAME = N''''C:...Suedsturm_log.ldf'''' )\n  FOR ATTACH\nGO<\/pre>\n<p><b><span style=\"color: darkgrey;\">Listing 1: Anh\u00e4ngen der Suedsturm-Datenbank an LocalDB<\/span><\/b><\/p>\n<p>Wichtig ist immer die Eingabe des Befehls <b>GO<\/b>, damit die zuvor eingegeben Zeilen ausgef\u00fchrt werden k\u00f6nnen. Danach k\u00f6nnen Sie mit dem Tool direkt auf die Datenbank zugreifen, indem Sie zun\u00e4chst den Kontext wechseln:<\/p>\n<pre>1&gt; USE Suedsturm\n2&gt; GO\nChanged database context to ''''Suedsturm''''.<\/pre>\n<p>Der Zugriff erfolgt dann per SQL-Abfrage:<\/p>\n<pre>1&gt; SELECT * FROM tblAnreden\n2&gt; GO\nAnredeID    Anrede\n----------- -------------------------------------------\n           1 Herr\n           2 Frau\n(2 Zeilen betroffen)\n1&gt;<\/pre>\n<p>Nun k\u00f6nnen Sie mit einer Datenbank, f\u00fcr die Sie Verkn\u00fcpfungen etwa mit der folgenden Verbindungszeichenfolge angelegt haben, direkt auf die LocalDB-Datenbank zugreifen:<\/p>\n<pre>ODBC;DRIVER={ODBC Driver 11 for SQL Server};DATA SOURCE=(localdb)MSSQLLocalDB;\nDATABASE=Suedsturm;Trusted_Connection=Yes;OPTION=3;<\/pre>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>LocalDB ist eine interessante Alternative zum SQL Server, wenn man schnell eine SQL Server-Datenbank zum Testen ben\u00f6tigt &#8211; aber auch, wenn man ein alternatives Backend f\u00fcr eine Einzelplatzanwendung ben\u00f6tigt, das im Gegensatz zu Access mehr als zwei GB Speicherplatz bietet.<\/p>\n<h2>Weitere interessante Artikel zu diesem Thema<\/h2>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/56\">Von Access zum SQL Server: Der Einstieg<\/a><\/p>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/410\">Das SQL Server Management Studio Express<\/a><\/p>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/472\">Von Access zum SQL Server &#8211; warum wechseln<\/a><\/p>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/548\">Upsizing von Access nach SQL Server: Tabellen<\/a><\/p>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/1055\">SQL Server-Datenbank erstellen<\/a><\/p>\n<p><a href=\"https:\/\/www.access-im-unternehmen.de\/1152\">Das SQL Server Management Studio<\/a><\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>AccessUndLocalDB.accdb<\/p>\n<p>Suedsturm.mdf<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/F8A37AED-AABE-45C1-A0B9-8A84A6F301D4\/aiu_1057.zip\">Download<\/a><\/p>\n<h2>Weitere interessante Artikel zu diesem Thema<\/h2>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/56'>Von Access zum SQL Server: Der Einstieg<\/a><\/p>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/410'>Das SQL Server Management Studio Express<\/a><\/p>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/472'>Von Access zum SQL Server &#8211; warum wechseln<\/a><\/p>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/548'>Upsizing von Access nach SQL Server: Tabellen<\/a><\/p>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/1055'>SQL Server-Datenbank erstellen<\/a><\/p>\n<p><a href='https:\/\/www.access-im-unternehmen.de\/1152'>Das SQL Server Management Studio<\/a><\/p>\n<p><!--LinksEnde--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit SQL Server 2012 gibt es eine kleine, aber feine Instanz des SQL Servers namens LocalDB. Dabei handelt es sich um eine SQL Server-Engine, die zwar einige Unterschiede zur Vollversion des SQL Servers aufweist, aber auch einige Features bietet, die gerade f&uuml;r Access-Entwickler interessant sind. Eines vorneweg: Sie k&ouml;nnen damit nur lokale Datenbanken betreiben, also solche, die auf dem gleichen Rechner wie das Frontend liegen. Ansonsten aber bietet diese Version fast alles, was das Entwicklerherz begehrt.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662016,66052016,44000022],"tags":[],"class_list":["post-55001057","post","type-post","status-publish","format-standard","hentry","category-662016","category-66052016","category-SQL_Server_und_Co"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server Datenbanken mit der LocalDb Instanz erstellen<\/title>\n<meta name=\"description\" content=\"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Access und SQL Server LocalDB\" \/>\n<meta property=\"og:description\" content=\"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-22T16:33:44+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Access und SQL Server LocalDB\",\"datePublished\":\"2021-03-22T16:33:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/\"},\"wordCount\":2089,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2016\",\"5\\\/2016\",\"SQL Server und Co.\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/\",\"name\":\"SQL Server Datenbanken mit der LocalDb Instanz erstellen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2021-03-22T16:33:44+00:00\",\"description\":\"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_und_SQL_Server_LocalDB\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Access und SQL Server LocalDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server Datenbanken mit der LocalDb Instanz erstellen","description":"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/","og_locale":"de_DE","og_type":"article","og_title":"Access und SQL Server LocalDB","og_description":"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.","og_url":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-03-22T16:33:44+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Access und SQL Server LocalDB","datePublished":"2021-03-22T16:33:44+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/"},"wordCount":2089,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2016","5\/2016","SQL Server und Co."],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/","url":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/","name":"SQL Server Datenbanken mit der LocalDb Instanz erstellen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2021-03-22T16:33:44+00:00","description":"Access und der SQL Server sind ein super Team. Noch besser wird es auch unter Access mit der leichten Variante namens SQL Server LocalDb.","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Access_und_SQL_Server_LocalDB\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Access und SQL Server LocalDB"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001057"}],"version-history":[{"count":7,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001057\/revisions"}],"predecessor-version":[{"id":88072428,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001057\/revisions\/88072428"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}