Bagikan melalui


SQL Server Express LocalDB

Berlaku untuk:SQL Server

Microsoft SQL Server Express LocalDB adalah fitur SQL Server Express yang ditargetkan untuk pengembang. Ini tersedia di edisi SQL Server Express dengan Layanan Tingkat Lanjut. Di SQL Server 2025 (17.x) dan versi yang lebih baru, edisi SQL Server Express tersedia.

Penginstalan LocalDB menyalin sekumpulan file minimal yang diperlukan untuk memulai Mesin Database SQL Server. Setelah LocalDB diinstal, Anda dapat memulai koneksi menggunakan string koneksi khusus. Saat Anda tersambung, infrastruktur SQL Server yang diperlukan secara otomatis dibuat dan dimulai, memungkinkan aplikasi untuk menggunakan database tanpa tugas konfigurasi yang kompleks. Alat Pengembang dapat memberi pengembang SQL Server Database Engine yang memungkinkan mereka menulis dan menguji kode Transact-SQL tanpa harus mengelola instans server lengkap SQL Server.

Media penginstalan

LocalDB adalah fitur yang Anda pilih selama penginstalan SQL Server Express, dan tersedia saat Anda mengunduh media. Jika Anda mengunduh media, pilih Express Advanced atau paket LocalDB .

Alat penginstal SqlLocalDB.msi LocalDB tersedia di media penginstalan untuk semua edisi kecuali untuk Express Core. Ini terletak di <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64 folder . LCID adalah pengidentifikasi lokal atau kode bahasa. Misalnya, nilai LCID 1033 mengacu pada en-US lokal.

Atau, Anda dapat menginstal LocalDB melalui Alat Penginstal Visual Studio, sebagai bagian dari beban kerja Penyimpanan dan Pemrosesan Data, beban kerja ASP.NET dan pengembangan web, atau sebagai komponen individual.

Instal LocalDB

Instal LocalDB melalui wizard penginstalan atau dengan menggunakan program SqlLocalDB.msi. LocalDB adalah opsi saat menginstal SQL Server Express LocalDB.

Pilih LocalDB pada halaman Pemilihan Fitur/Fitur Bersama selama penginstalan. Hanya ada satu penginstalan file biner LocalDB untuk setiap versi Mesin Database SQL Server utama. Beberapa proses Mesin Database dapat dimulai, dan semua menggunakan biner yang sama. Instans dari Mesin Database SQL Server yang dimulai sebagai LocalDB memiliki batasan yang sama seperti SQL Server Express.

Instans SQL Server Express LocalDB dikelola dengan menggunakan SqlLocalDB.exe utilitas . SQL Server Express LocalDB harus digunakan sebagai pengganti fitur instans pengguna SQL Server Express, yang tidak digunakan lagi.

Deskripsi

Program penyetelan LocalDB menggunakan SqlLocalDB.msi program untuk menginstal berkas yang diperlukan pada komputer. Setelah diinstal, LocalDB adalah instans SQL Server Express yang dapat membuat dan membuka database SQL Server. File database sistem untuk database disimpan di jalur lokal AppData , yang biasanya disembunyikan. Contohnya,%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. File database pengguna disimpan di mana pengguna menunjuk, biasanya di suatu tempat di %LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\<InstanceName> folder.

Untuk informasi selengkapnya tentang menyertakan LocalDB dalam aplikasi, lihat Gambaran Umum Data Lokal Visual Studio, Membuat database, dan menambahkan tabel di Visual Studio.

Untuk informasi selengkapnya tentang API LocalDB, lihat referensi SQL Server Express LocalDB.

SqlLocalDB Utilitas dapat membuat instans baru LocalDB, memulai dan menghentikan instans LocalDB, dan menyertakan opsi untuk membantu Anda mengelola LocalDB. Untuk informasi selengkapnya tentang SqlLocalDB utilitas, lihat utilitas SqlLocalDB.

Pengurutan instans untuk LocalDB disetel ke SQL_Latin1_General_CP1_CI_AS dan tidak dapat diubah. Kolatasi tingkat database, tingkat kolom, dan tingkat ekspresi didukung secara normal. Database yang terkandung mengikuti aturan metadata dan tempdb pengurutan yang ditentukan oleh pengurutan database yang terkandung.

Batasan

  • LocalDB tidak dapat dikelola dari jarak jauh melalui SQL Server Management Studio.

  • LocalDB tidak dapat menjadi pelanggan replikasi penggabungan.

  • LocalDB tidak mendukung FILESTREAM.

  • LocalDB hanya memungkinkan antrean lokal untuk Service Broker.

  • Instans LocalDB yang dimiliki oleh akun bawaan seperti NT AUTHORITY\SYSTEM dapat memiliki masalah pengelolaan karena pengalihan sistem file Windows. Sebagai gantinya, gunakan akun Windows normal sebagai pemilik.

Instans otomatis dan bernama

LocalDB mendukung dua jenis instans: instans otomatis, dan instans bernama. Pengguna komputer yang berbeda dapat memiliki instans dengan nama yang sama. Setiap instans berjalan sebagai pengguna masing-masing dalam prosesnya sendiri.

Instans otomatis

Instans otomatis LocalDB bersifat publik. Mereka dibuat dan dikelola secara otomatis untuk pengguna dan dapat digunakan oleh aplikasi apa pun. Satu instans otomatis LocalDB ada untuk setiap versi LocalDB yang diinstal pada komputer pengguna. Instans otomatis dari LocalDB menyediakan pengelolaan instans yang tanpa gangguan. Tidak perlu membuat instance; itu langsung berfungsi. Fitur ini memungkinkan penginstalan dan migrasi aplikasi yang mudah ke komputer yang berbeda. Jika komputer target memiliki versi LocalDB yang ditentukan yang diinstal, instans otomatis LocalDB untuk versi tersebut juga tersedia di komputer target. Instans otomatis LocalDB memiliki pola khusus untuk nama instans yang merupakan bagian dari namespace yang telah dipesan. Instance otomatis mencegah konflik nama dengan instance LocalDB yang memiliki nama. Nama untuk instans otomatis adalah MSSQLLocalDB.

Instans bernama

Instans bernama LocalDB bersifat privat. Mereka dimiliki oleh satu aplikasi yang bertanggung jawab untuk membuat dan mengelola instance. Instans bernama menyediakan isolasi dari instans lain dan dapat meningkatkan performa dengan mengurangi ketidakcocokan sumber daya dengan pengguna database lain. Anda harus membuat instans bernama secara eksplisit melalui API manajemen LocalDB, atau secara implisit melalui app.config file untuk aplikasi terkelola (meskipun aplikasi terkelola mungkin juga menggunakan API, jika diinginkan). Setiap instans bernama LocalDB memiliki versi LocalDB terkait yang menunjuk ke set biner LocalDB masing-masing. Nama instans LocalDB adalah jenis data sysname dan dapat memiliki hingga 128 karakter. (Nama instans ini berbeda dari instans SQL Server bernama reguler, yang membatasi nama untuk nama NetBIOS reguler 15 karakter ASCII.) Nama instans LocalDB dapat berisi karakter Unicode apa pun yang legal dalam nama file. Instans bernama yang menggunakan nama instans otomatis menjadi instans otomatis.

Instans bersama LocalDB

Untuk mendukung skenario di mana beberapa pengguna komputer perlu terhubung ke satu instans LocalDB, LocalDB mendukung berbagi instans. Pemilik instans dapat memilih untuk mengizinkan pengguna lain di komputer untuk menyambungkan instans. Instans otomatis dan bernama LocalDB dapat dibagikan. Untuk berbagi instans LocalDB, pengguna memilih nama bersama (alias) untuk instans tersebut. Karena nama berbagi terlihat oleh semua pengguna komputer, nama bersama ini harus unik pada komputer. Nama yang dibagikan untuk instans LocalDB mengikuti format yang sama dengan instans bernama dari LocalDB.

Hanya administrator di komputer yang dapat membuat instans yang dibagikan dari LocalDB. Instans bersama LocalDB dapat tidak dibagikan oleh administrator atau oleh pemilik instans bersama LocalDB. Untuk berbagi dan membatalkan berbagi instans LocalDB, gunakan metode LocalDBShareInstance dan LocalDBUnShareInstance dari API LocalDB, atau opsi berbagi dan membatalkan berbagi dari utilitas SqlLocalDB.

Mulai LocalDB dan sambungkan ke LocalDB

Bagian ini menjelaskan cara menyambungkan ke instans otomatis, instans bernama, atau instans bersama.

Sambungkan ke instance otomatis

Cara term mudah untuk menggunakan LocalDB adalah dengan terhubung ke instans otomatis yang dimiliki oleh pengguna saat ini dengan menggunakan string koneksi Server=(localdb)\MSSQLLocalDB;Integrated Security=true. Untuk menyambungkan ke database tertentu dengan menggunakan nama file, sambungkan menggunakan string koneksi yang mirip dengan Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf.

Catatan

Pertama kali seorang pengguna di komputernya mencoba menghubungkan ke LocalDB, instans otomatis harus dibuat dan dimulai. Waktu tambahan untuk instans yang akan dibuat dapat menyebabkan percobaan koneksi mengalami kegagalan dengan pesan waktu habis. Ketika ini terjadi, tunggu beberapa detik untuk membiarkan proses pembuatan selesai, lalu sambungkan lagi.

Membuat dan menyambungkan ke instans bernama

Selain instans otomatis, LocalDB juga mendukung instans bernama. SqlLocalDB.exe Gunakan program untuk membuat, memulai, dan menghentikan instans LocalDB bernama. Untuk informasi selengkapnya tentang SqlLocalDB.exe, lihat utilitas 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

Baris terakhir dalam sampel kode sebelumnya, mengembalikan informasi yang mirip dengan tabel berikut.

Kategori Nilai
Nama LocalDBApp1
Versi <Current version>
Nama bersama ""
Pemilik <Your Windows user>
Buat otomatis No
Status Running
Waktu mulai terakhir <Date and time>
Nama pipa instance np:\\.\pipe\LOCALDB#F365A78E\tsql\query

Catatan

Jika aplikasi Anda menggunakan versi .NET Framework sebelum 4.0.2, Anda harus terhubung langsung ke pipa bernama LocalDB. Nilai nama pipa instans adalah pipa bernama tempat instans LocalDB menangkap koneksi. Bagian dari nama pipa Instans setelah LOCALDB# akan berubah setiap kali instans LocalDB dimulai. Untuk menyambungkan ke instans LocalDB menggunakan SQL Server Management Studio, ketik nama pipe instans dalam kotak Nama server dari kotak dialog Sambungkan ke Mesin Basis Data. Dari program kustom Anda, Anda dapat membuat koneksi ke instans LocalDB menggunakan string koneksi yang mirip denganSqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");

Menyambungkan ke instans berbagi LocalDB

Untuk menyambungkan ke instans bersamaan LocalDB, tambahkan \.\ (garis miring terbalik + titik + garis miring terbalik) ke string koneksi untuk mereferensi namespace yang dicadangkan untuk instans bersamaan. Misalnya, untuk menyambungkan ke instans bersama LocalDB bernama AppData, gunakan (localdb)\.\AppData sebagai string koneksi. Pengguna yang terhubung ke instans bersama LocalDB yang tidak mereka miliki harus memiliki login Autentikasi Windows atau Autentikasi SQL Server.

Pecahkan masalah

LocalDB berjalan sebagai instans ringan di bawah konteks pengguna saat ini, yang berarti sebagian besar masalah terkait dengan status instans, izin file, atau ketidakcocokan versi daripada konfigurasi tingkat server. Langkah-langkah berikut dapat membantu Anda mendiagnosis dan mengatasi masalah LocalDB yang paling umum.

Tingkatkan ke versi terbaru

Banyak masalah LocalDB umum diselesaikan dengan meningkatkan ke versi terbaru SQL Server Express. Unduh versi terbaru dari bagian Media penginstalan , dan instal LocalDB. Versi yang lebih baru menggantikan biner LocalDB yang ada dan mencakup perbaikan untuk masalah stabilitas dan kompatibilitas yang diketahui.

Setelah memutakhirkan, hapus, dan buat ulang instans Anda untuk menggunakan biner yang diperbarui:

sqllocaldb stop MSSQLLocalDB
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB

Perhatian

Menghapus instans akan menghapus semua database yang terkait dengan instans tersebut. Cadangkan data penting yang ada sebelum Anda menghapus.

Verifikasi status penginstalan dan instance

Jalankan perintah berikut untuk mengonfirmasi LocalDB diinstal dan periksa status instans Anda:

sqllocaldb info
sqllocaldb info MSSQLLocalDB

Perintah pertama mencantumkan semua instans. Perintah kedua menunjukkan versi, pemilik, dan status (Berjalan atau Dihentikan) dari instans tertentu. Jika sqllocaldb tidak dikenali, LocalDB mungkin tidak diinstal atau jalur penginstalan tidak ada dalam variabel sistem PATH .

Untuk memulai instans yang belum berjalan:

sqllocaldb start MSSQLLocalDB

Meninjau log kesalahan

LocalDB menulis log kesalahan ke folder pengguna AppData :

%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB\error.log

Buka file ini di editor teks untuk memeriksa pesan kesalahan tertentu, kegagalan startup, atau masalah konfigurasi.

Hak Akses

Instans SQL Server Express LocalDB adalah instans yang dibuat oleh pengguna untuk penggunaannya. Setiap pengguna di komputer dapat membuat database menggunakan instans LocalDB, menyimpan file di bawah profil pengguna mereka, dan menjalankan proses di bawah kredensial mereka. Secara default, akses ke instans LocalDB terbatas pada pemiliknya. Data yang terkandung dalam LocalDB dilindungi oleh akses sistem file ke file database. Jika file database pengguna disimpan di lokasi bersama, database dapat dibuka oleh siapa pun dengan akses sistem file ke lokasi tersebut, dengan menggunakan instans LocalDB yang mereka miliki. Jika file database berada di lokasi yang dilindungi, seperti folder data pengguna, hanya pengguna tersebut, dan administrator mana pun yang memiliki akses ke folder tersebut, yang dapat membuka database. File LocalDB hanya dapat dibuka oleh satu instans LocalDB pada satu waktu.

LocalDB selalu berjalan di bawah konteks keamanan pengguna. LocalDB tidak pernah berjalan dengan kredensial dari grup Administrator lokal. Ini berarti bahwa semua file database yang digunakan oleh instans LocalDB harus dapat diakses menggunakan akun Windows pengguna pemilik, tanpa mempertimbangkan keanggotaan di grup Administrator lokal.