LocalDB SQL Server Express

Berlaku untuk:SQL Server

Microsoft SQL Server Express LocalDB adalah fitur SQL Server Express yang ditargetkan untuk pengembang. Ini tersedia di SQL Server Express dengan Layanan Tingkat Lanjut.

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 .

Pelanggan Visual Studio 2019 dan 2022 harus menginstal SQL Server Express 2019.

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 lokal en-US .

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 SqlLocalDB.msi program. LocalDB adalah opsi saat menginstal SQL Server Express LocalDB.

Pilih LocalDB pada halaman Pilihan 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 Mesin Database SQL Server dimulai karena LocalDB memiliki batasan yang sama dengan 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 AppData lokal, yang biasanya disembunyikan. Contohnya, C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. File database pengguna disimpan di mana pengguna menunjuk, biasanya di suatu tempat di C:\Users\<user>\Documents\ 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.

Kolase instans untuk LocalDB diatur ke SQL_Latin1_General_CP1_CI_AS dan tidak dapat diubah. Kolatasi tingkat database, tingkat kolom, dan tingkat ekspresi didukung secara normal. Database terkandung mengikuti aturan metadata dan tempdb kolase yang ditentukan oleh Kolase Database 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.

  • 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 LocalDB menyediakan manajemen instans yang mulus. Tidak perlu membuat instans; itu hanya bekerja. 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 milik namespace layanan yang dipesan. Instans otomatis mencegah konflik nama dengan instans LocalDB bernama. Nama untuk instans otomatis adalah MSSQLLocalDB.

  • Instans bernama LocalDB bersifat privat. Mereka dimiliki oleh satu aplikasi yang bertanggung jawab untuk membuat dan mengelola instans. 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 juga dapat 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 ke 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.

Pengguna komputer yang berbeda dapat memiliki instans dengan nama yang sama. Setiap instans berjalan sebagai pengguna masing-masing dalam prosesnya sendiri.

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 bersama untuk instans LocalDB memiliki format yang sama dengan instans bernama LocalDB.

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

Mulai LocalDB dan sambungkan ke LocalDB

Koneksi ke instans 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 Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdfdengan .

Konvensi penamaan dan string koneksi untuk format LocalDB berubah di SQL Server 2014 (12.x). Sebelumnya, nama instans adalah karakter v tunggal yang diikuti oleh LocalDB dan nomor versi. Dimulai dengan SQL Server 2014 (12.x), format nama instans ini tidak lagi didukung, dan string koneksi yang disebutkan sebelumnya harus digunakan sebagai gantinya.

Catatan

Pertama kali pengguna di komputer mencoba menyambungkan ke LocalDB, instans otomatis harus dibuat dan dimulai. Waktu tambahan untuk instans yang akan dibuat dapat menyebabkan upaya koneksi gagal dengan pesan batas waktu. 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.

Category Value
Nama LocalDBApp1
Versi <Current Version>
Nama bersama ""
Pemilik "<Your Windows User>"
Buat otomatis No
Provinsi Running
Waktu mulai terakhir <Date and Time>
Nama pipa instans np:\\.\pipe\LOCALDB#F365A78E\tsql\query

Catatan

Jika aplikasi Anda menggunakan versi .NET sebelum 4.0.2, Anda harus terhubung langsung ke pipa bernama LocalDB. Nilai Nama pipa Instans adalah pipa bernama yang didengarkan instans LocalDB. Bagian dari nama pipa Instans setelah LOCALDB# akan berubah setiap kali instans LocalDB dimulai. Untuk menyambungkan ke instans LocalDB dengan menggunakan SQL Server Management Studio, ketik nama pipa instans dalam kotak Nama server dari kotak dialog Koneksi ke Mesin Database. 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");

Koneksi ke instans bersama LocalDB

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

Pemecahan masalah

Untuk informasi tentang pemecahan masalah LocalDB, lihat Pemecahan Masalah SQL Server 2012 Express LocalDB.

Izin

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.

Catatan

LocalDB selalu berjalan di bawah konteks keamanan pengguna; artinya, 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.