Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Microsoft SQL Server Express LocalDB to funkcja programu SQL Server Express przeznaczona dla deweloperów. Jest ona dostępna w wersji SQL Server Express z usługami Advanced Services.
Instalacja bazy danych LocalDB kopiuje minimalny zestaw plików niezbędnych do uruchomienia aparatu bazy danych programu SQL Server. Po zainstalowaniu bazy danych LocalDB można zainicjować połączenie przy użyciu specjalnych parametrów połączenia. Po nawiązaniu połączenia niezbędna infrastruktura programu SQL Server zostanie automatycznie utworzona i uruchomiona, umożliwiając aplikacji korzystanie z bazy danych bez złożonych zadań konfiguracyjnych. Narzędzia deweloperskie mogą zapewnić deweloperom silnik bazy danych SQL Server, który umożliwia im pisanie i testowanie kodu Transact-SQL bez konieczności zarządzania całą instancją serwera SQL Server.
Nośnik instalacyjny
LocalDB to funkcja, którą wybierasz podczas instalacji programu SQL Server Express, i jest dostępna do pobrania z nośnika. W przypadku pobrania nośnika wybierz pozycję Express Advanced lub pakiet LocalDB .
- SQL Server 2022 Express edition
- SQL Server 2019 Express edition
- SQL Server 2017 Express edition
- SQL Server 2016 Express edition
Klienci korzystający z programów Visual Studio 2019 i Visual Studio 2022 powinni zainstalować wersję SQL Server 2019 Express.
Instalator SqlLocalDB.msi
localDB jest dostępny na nośniku instalacyjnym dla wszystkich edycji z wyjątkiem programu Express Core. Znajduje się w folderze <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64
. Identyfikator LCID to identyfikator ustawień regionalnych lub kod języka. Na przykład wartość LCID 1033 odnosi się do en-US
ustawień regionalnych.
Alternatywnie można zainstalować LocalDB za pośrednictwem Instalatora programu Visual Studio, w ramach obciążenia roboczego ASP.NET i tworzenia aplikacji sieciowych, obciążenia roboczego Magazynu i przetwarzania danych lub jako pojedynczy składnik.
Instalowanie bazy danych LocalDB
Zainstaluj bazę danych LocalDB za pomocą kreatora instalacji lub za pomocą SqlLocalDB.msi
programu. LocalDB to opcja podczas instalowania bazy danych SQL Server Express LocalDB.
Wybierz pozycję LocalDB na stronie Wybór funkcji/Funkcje udostępnione podczas instalacji. Może istnieć tylko jedna instalacja plików binarnych LocalDB dla każdej głównej wersji aparatu bazy danych programu SQL Server. Można uruchomić wiele procesów aparatu bazy danych i używać tych samych plików binarnych. Wystąpienie silnika bazy danych programu SQL Server uruchomione jako "LocalDB" ma te same ograniczenia co SQL Server Express.
Wystąpienie usługi SQL Server Express LocalDB jest zarządzane przy użyciu SqlLocalDB.exe
narzędzia . Program SQL Server Express LocalDB powinien być używany zamiast funkcji wystąpienia użytkownika programu SQL Server Express, która została uznana za przestarzałą.
Opis
Program instalacyjny LocalDB używa programu SqlLocalDB.msi
do instalacji niezbędnych plików na komputerze. Po zainstalowaniu baza danych LocalDB jest wystąpieniem programu SQL Server Express, które może tworzyć i otwierać bazy danych programu SQL Server. Pliki systemowe bazy danych są przechowywane w lokalnej ścieżce AppData
, która jest zwykle ukryta. Na przykład C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\
. Pliki bazy danych użytkownika są przechowywane w miejscu, w którym użytkownik wyznaczy typową lokalizację w folderze C:\Users\<user>\Documents\
.
Aby uzyskać więcej informacji na temat dołączania bazy danych LocalDB w aplikacji, zobacz Omówienie lokalnych danych programu Visual Studio, Tworzenie bazy danych i dodawanie tabel w programie Visual Studio.
Aby uzyskać więcej informacji na temat interfejsu API LocalDB, zobacz dokumentację SQL Server Express LocalDB.
Narzędzie SqlLocalDB
może tworzyć nowe wystąpienia bazy danych LocalDB, uruchamiać i zatrzymywać wystąpienie bazy danych LocalDB oraz zawiera opcje ułatwiające zarządzanie bazą danych LocalDB. Aby uzyskać więcej informacji na temat SqlLocalDB
narzędzia, zobacz SqlLocalDB utility (Narzędzie SqlLocalDB).
Sortowanie wystąpień dla bazy danych LocalDB jest ustawione na SQL_Latin1_General_CP1_CI_AS
i nie można ich zmienić. Sortowania na poziomie bazy danych, na poziomie kolumn i na poziomie wyrażenia są zwykle obsługiwane. Zawarte bazy danych przestrzegają reguł metadanych i tempdb
kolacji zdefiniowanych przez kolacje baz danych zawartych.
Ograniczenia
Nie można zarządzać bazą danych localDB zdalnie za pośrednictwem programu SQL Server Management Studio.
Usługa LocalDB nie może być subskrybentem replikacji łączonej.
Baza danych LocalDB nie obsługuje elementu FILESTREAM.
Usługa LocalDB zezwala tylko na kolejki lokalne dla usługi Service Broker.
Wystąpienie LocalDB należące do wbudowanych kont, takich jak
NT AUTHORITY\SYSTEM
, może mieć problemy z zarządzaniem z powodu przekierowania systemu plików Windows. Zamiast tego użyj normalnego konta systemu Windows jako właściciela.
Wystąpienia automatyczne i nazwane
Usługa LocalDB obsługuje dwa rodzaje wystąpień: wystąpienia automatyczne i wystąpienia nazwane. Różni użytkownicy komputera mogą mieć wystąpienia o tej samej nazwie. Każde wystąpienie jest uruchamiane jako odpowiadający mu użytkownik we własnym procesie.
Wystąpienia automatyczne
Automatyczne instancje LocalDB są publiczne. Są one tworzone i zarządzane automatycznie dla użytkownika i mogą być używane przez dowolną aplikację. Jedno automatyczne wystąpienie bazy danych LocalDB istnieje dla każdej wersji bazy danych LocalDB zainstalowanej na komputerze użytkownika. Automatyczne wystąpienia bazy danych LocalDB zapewniają bezproblemowe zarządzanie wystąpieniami. Nie ma potrzeby tworzenia instancji; działa samo z siebie. Ta funkcja umożliwia łatwą instalację i migrację aplikacji na inny komputer. Jeśli maszyna docelowa ma zainstalowaną określoną wersję bazy danych LocalDB, automatyczne wystąpienie bazy danych LocalDB dla tej wersji jest również dostępne na maszynie docelowej. Wystąpienia automatyczne LocalDB mają specjalny wzorzec dla nazwy wystąpienia należącej do zarezerwowanej przestrzeni nazw. Automatyczne instancje zapobiegają konfliktom nazw z nazwanymi instancjami LocalDB. Nazwa automatycznej instancji to MSSQLLocalDB
.
Wystąpienia nazwane
Nazwane wystąpienia bazy danych LocalDB są prywatne. Są własnością jednej aplikacji, która jest odpowiedzialna za tworzenie i zarządzanie wystąpieniem. Wystąpienia nazwane zapewniają izolację od innych wystąpień i mogą zwiększyć wydajność dzięki zmniejszeniu konkurencji o zasoby z innymi użytkownikami bazy danych. Należy jawnie utworzyć nazwane wystąpienia za pomocą interfejsu API zarządzania lokalną bazą danych lub niejawnie za pośrednictwem pliku app.config
dla aplikacji zarządzanej (chociaż aplikacja zarządzana może również używać interfejsu API, jeśli jest to pożądane). Każde nazwane wystąpienie LocalDB ma skojarzoną wersję LocalDB, która wskazuje na odpowiedni zestaw plików binarnych LocalDB. Nazwa wystąpienia bazy danych LocalDB to typ danych sysname i może zawierać maksymalnie 128 znaków. (Ta nazwa instancji różni się od zwykłych nazwanych instancji programu SQL Server, które ograniczają ich nazwy do standardowych nazw NetBIOS z 15 znakami ASCII). Nazwa instancji LocalDB może zawierać dowolne znaki Unicode, które są dozwolone w nazwie pliku. Nazwane wystąpienie używające nazwy wystąpienia automatycznego staje się wystąpieniem automatycznym.
Udostępnione wystąpienia LocalDB
Aby obsługiwać scenariusze, w których wielu użytkowników komputera musi nawiązać połączenie z pojedynczym wystąpieniem bazy danych LocalDB, usługa LocalDB obsługuje udostępnianie wystąpień. Właściciel wystąpienia może zezwolić innym użytkownikom na łączenie się do wystąpienia na tym komputerze. Można udostępniać zarówno automatyczne, jak i nazwane wystąpienia bazy danych LocalDB. Aby udostępnić wystąpienie bazy danych LocalDB, użytkownik wybiera dla niego nazwę udostępnioną (alias). Ponieważ nazwa udostępniona jest widoczna dla wszystkich użytkowników komputera, ta nazwa udostępniona musi być unikatowa na komputerze. Nazwa udostępniona wystąpienia bazy danych LocalDB ma taki sam format jak nazwane wystąpienie bazy danych LocalDB.
Tylko administrator na komputerze może utworzyć udostępnione wystąpienie bazy danych LocalDB. Udostępnione wystąpienie bazy danych LocalDB może być nieudostępniane przez administratora lub przez właściciela udostępnionego wystąpienia bazy danych LocalDB. Aby udostępnić i anulować udostępnianie wystąpienia LocalDB, użyj metod LocalDBShareInstance
i LocalDBUnShareInstance
interfejsu API LocalDB lub opcji udostępniania i anulowania udostępniania narzędzia SqlLocalDB
.
Uruchamianie bazy danych LocalDB i nawiązywanie połączenia z bazą danych LocalDB
W tej sekcji opisano sposób nawiązywania połączenia z wystąpieniem automatycznym, nazwanym wystąpieniem lub wystąpieniem udostępnionym.
Połącz z automatycznym wystąpieniem
Najprostszym sposobem użycia bazy danych LocalDB jest nawiązanie połączenia z automatycznym wystąpieniem należącym do bieżącego użytkownika przy użyciu ciągu połączenia Server=(localdb)\MSSQLLocalDB;Integrated Security=true
. Aby nawiązać połączenie z określoną bazą danych przy użyciu nazwy pliku, połącz się przy użyciu parametrów połączenia podobnych do Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf
.
Uwaga / Notatka
Gdy użytkownik na komputerze po raz pierwszy próbuje nawiązać połączenie z bazą danych LocalDB, należy utworzyć i uruchomić automatyczne wystąpienie. Dodatkowy czas potrzebny na utworzenie wystąpienia może spowodować niepowodzenie próby nawiązania połączenia z wyświetleniem komunikatu o przekroczeniu limitu czasu. W takim przypadku poczekaj kilka sekund, aby umożliwić ukończenie procesu tworzenia, a następnie ponownie nawiąż połączenie.
Tworzenie i nawiązywanie połączenia z nazwanym wystąpieniem
Baza danych LocalDB oprócz wystąpienia automatycznego obsługuje również wystąpienia nazwane. Użyj programu SqlLocalDB.exe
, aby utworzyć, uruchomić i zatrzymać nazwane wystąpienie LocalDB. Aby uzyskać więcej informacji na temat SqlLocalDB.exe
programu , zobacz SqlLocalDB utility (Narzędzie SqlLocalDB).
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
Ostatni wiersz w poprzednim przykładzie kodu zwraca informacje podobne do poniższej tabeli.
Kategoria | Wartość |
---|---|
Nazwa | LocalDBApp1 |
wersja | <Current version> |
Nazwa udostępniona | "" |
Właściciel | <Your Windows user> |
Automatyczne tworzenie | No |
Stan | Running |
Czas ostatniego uruchomienia | <Date and time> |
Nazwa potoku wystąpienia | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Uwaga / Notatka
Jeśli aplikacja używa wersji programu .NET Framework przed wersją 4.0.2, musisz połączyć się bezpośrednio z nazwanym potokiem bazy danych LocalDB. Wartość nazwy potoku wystąpienia to nazwany potok, na który nasłuchuje wystąpienie bazy danych LocalDB. Część nazwy potoku wystąpienia po LOCALDB#
zostanie zmieniona za każdym razem, gdy wystąpienie bazy danych LocalDB zostanie uruchomione. Aby nawiązać połączenie z wystąpieniem LocalDB za pomocą programu SQL Server Management Studio, wpisz nazwę potoku wystąpienia w polu Nazwa serwera okna dialogowego Łączenie z silnikiem bazy danych. Z poziomu programu niestandardowego można nawiązać połączenie z wystąpieniem bazy danych LocalDB przy użyciu parametrów połączenia podobnych do SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Połącz się z udostępnionym wystąpieniem LocalDB
Aby nawiązać połączenie z udostępnionym wystąpieniem LocalDB, dodaj \.\
(ukośnik odwrotny + kropka + ukośnik odwrotny) do łańcucha połączenia, aby odwołać się do przestrzeni nazw zarezerwowanej dla wystąpień udostępnionych. Aby na przykład nawiązać połączenie z udostępnionym wystąpieniem LocalDB o nazwie AppData
, użyj parametrów połączenia, takich jak (localdb)\.\AppData
. Użytkownik łączący się z udostępnionym wystąpieniem LocalDB, którego nie jest właścicielem, musi mieć login z uwierzytelnianiem systemu Windows lub SQL Server.
Rozwiązywanie problemów
Aby uzyskać informacje na temat rozwiązywania problemów z bazą danych LocalDB, zobacz Znane problemy z instalacją i migracją programu SQL Server 2012.
Uprawnienia
Wystąpienie usługi SQL Server Express LocalDB jest wystąpieniem utworzonym przez użytkownika do własnego użytku. Każdy użytkownik komputera może stworzyć bazę danych, korzystając z instancji LocalDB, przechowywać pliki w swoim profilu użytkownika i uruchamiać procesy z uprawnieniami wynikającymi z ich poświadczeń. Domyślnie dostęp do wystąpienia LocalDB jest ograniczony do jego właściciela. Dane zawarte w bazie danych LocalDB są chronione przez dostęp systemu plików do plików bazy danych. Jeśli pliki bazy danych użytkownika są przechowywane w lokalizacji udostępnionej, baza danych może być otwierana przez każdą osobę z dostępem do systemu plików w tej lokalizacji, przy użyciu własnego wystąpienia bazy danych LocalDB. Jeśli pliki bazy danych znajdują się w chronionej lokalizacji, takiej jak folder danych użytkowników, tylko ten użytkownik i wszyscy administratorzy z dostępem do tego folderu, mogą otworzyć bazę danych. Pliki LocalDB można otwierać tylko przez jedno wystąpienie bazy danych LocalDB jednocześnie.
Baza danych LocalDB zawsze działa w kontekście zabezpieczeń użytkownika. Baza danych LocalDB nigdy nie jest uruchamiana przy użyciu poświadczeń z grupy administratora lokalnego. Oznacza to, że wszystkie pliki bazy danych używane przez wystąpienie LocalDB muszą być dostępne za pomocą konta użytkownika posiadającego konto Windows, bez uwzględniania członkostwa w lokalnej grupie Administratorzy.