Tidak dapat tersambung ke localhost di SQL Server Express 2012/2016

97

Saya baru saja mengunduh versi terbaru SQL Express 2012 tetapi saya tidak dapat terhubung ke localhost. Saya mencoba localhost \ SQLExpress dan otentikasi Windows tetapi memberi saya pesan kesalahan yang mengatakan tidak dapat terhubung. Apakah saya melewatkan sesuatu di sini? Saya telah menggunakan SQL Server 2008 sebelumnya dan saya tidak pernah mengalami masalah saat menyambung ke localhost. Tampaknya ia bahkan tidak dapat menemukannya. Juga di Layanan saya hanya melihat Penulis VSS SQL Server. Apakah seharusnya seperti ini? Atau apakah saya melewatkan sesuatu? Terima kasih

kenakalan
sumber
1
Sepertinya penginstalan tidak berjalan dengan baik. Apakah Anda mencoba memperbaiki / menginstal ulang?
Vikdor
1
Apakah Anda yakin Anda menemukan pemasang untuk server, bukan, katakanlah, pemasang Studio Manajemen?
Damien_The_Unbeliever

Jawaban:

181

Menurut Aaron Bertand :

  1. Anda perlu memverifikasi bahwa layanan SQL Server sedang berjalan. Anda dapat melakukannya dengan membuka Start > Control Panel > Administrative Tools > Services, dan memeriksa bahwa layanan SQL Server ( SQLEXPRESS) sedang berjalan. Jika tidak, mulailah.

  2. Saat Anda berada di applet layanan, pastikan juga bahwa layanan SQL Browser telah dimulai. Jika tidak, mulailah .

  3. Anda perlu memastikan bahwa SQL Server diizinkan untuk menggunakan TCP / IP atau pipa bernama. Anda dapat mengaktifkannya dengan membuka SQL Server Configuration Manager di Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(atau SQL Server Configuration Manager), dan memastikan bahwa TCP / IP dan Named Pipes diaktifkan . Jika Anda tidak menemukan SQL Server Configuration Manager di Start Menu, Anda dapat meluncurkan snap-in MMC secara manual. Periksa SQL Server Configuration Manager untuk jalur ke snap-in menurut versi Anda.

    Manajer Konfigurasi SQL Server

  4. Verifikasi bahwa mode otentikasi koneksi SQL Server Anda cocok dengan string koneksi Anda:

    • Jika Anda menyambungkan menggunakan nama pengguna dan sandi, Anda perlu mengkonfigurasi SQL Server untuk menerima "Mode Otentikasi SQL Server":

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
    • Jika Anda menghubungkan menggunakan "Integrated Security = true" (Mode Windows), dan kesalahan ini hanya muncul saat debugging dalam aplikasi web, maka Anda perlu menambahkan ApplicationPoolIdentity sebagai login SQL Server :
  5. jika tidak, jalankan Start -> Run -> Services.mscJika ya, apakah itu berjalan?

Jika tidak berjalan maka

Sepertinya Anda belum menginstal semuanya. Jalankan file instal dan pilih opsi "Instalasi baru atau tambahkan fitur ke instalasi yang sudah ada". Dari sana Anda harus dapat memastikan layanan mesin database terinstal.

Ravindra Bagale
sumber
2
@dido: Start-> Run-> Services.msc
Ravindra Bagale
3
Hal lain yang perlu diperiksa adalah nama instance. Bergantung pada bagaimana SQL Server diinstal, Anda mungkin atau mungkin tidak perlu memberikan nama contoh setelah host.
Arvo Bowen
"TCP / IP dan Named Pipes diaktifkan" tampaknya diperlukan setelah pemasangan pertama
James A Mohler
3
Itu bodoh tetapi bagi saya, masalahnya adalah menggunakan "localhost" sebagai nama server dan bukan "localhost \ SQLEXPRESS01" seperti yang ditetapkan dalam instalasi
Guy
1
Dalam kasus saya SQLBrowser dinonaktifkan dan alat konfigurasi tidak terdaftar di folder alat sql. Untuk memulai alat konfigurasi melalui cmd https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager?view=sql-server-2017 Untuk memulai SQLBrowser secara otomatis jika konfigurasi alat gagal /programming/21375014/i-cannot-start-sql-server-browser
steven87vt
121

Goto Start -> Program -> Microsoft SQL ServerYYYY -> Alat Konfigurasi -> SQL Server YYYY Configuration Manager atau jalankan "SQLServerManager12.msc".

Pastikan TCP / IP diaktifkan di bawah Protokol Klien.

Lalu masuk ke "Konfigurasi Jaringan SQL Server" dan klik dua kali TCP / IP. Klik tab "Alamat IP" dan gulir ke bawah. Di bawah "IP All" hapus TCP Dynamic Ports jika ada dan setel TCP Port ke 1433. Klik OK dan kemudian kembali ke "SQL Server Services" dan mulai ulang contoh SQL Server. Sekarang Anda bisa terhubung melalui localhost, setidaknya saya bisa.

masukkan deskripsi gambar di sini

Perhatikan bahwa kesalahan ini tentu saja dapat terjadi saat menghubungkan dari aplikasi lain juga. Contoh untuk Web.configstring koneksi aplikasi web C # normal :

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
Ogglas
sumber
4
Akhirnya, ini berhasil untuk saya! Saya telah mengubah porta di IP1, IP2, ... tetapi tidak di IPAll. Itu berhasil, terima kasih!
George
2
@George persis sama denganmu. Saya bahkan telah menonaktifkan firewall, dan tidak ada yang berhasil. Ada port 40xxx di TCP Dynamic Ports. Saya menghapusnya, dan meletakkan 1433 di Port TCP untuk IPAll, ini juga berhasil. Terima kasih!
Alisson
Ini juga kuncinya bagi saya.
Erik Olson
1
Setelah berjam-jam membanting kepalaku ke dinding, ini akhirnya berhasil. Terima kasih.
Kucing Top
Solusi bagus. Ini menghemat hari saya. Terima kasih banyak!
Lavande
13

di SQL SERVER EXPRESS 2012 Anda harus menggunakan "(localdb) \ MSSQLLocalDB" sebagai nama Sumber Data misalnya Anda dapat menggunakan string koneksi seperti ini

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
ABU
sumber
10

Saya memiliki masalah serupa - mungkin solusi saya akan membantu. Saya baru saja menginstal MSSQL EX 2012 (penginstalan default) dan mencoba terhubung dengan VS2012 EX. Tidak ada kegembiraan. Saya kemudian melihat layanan, mengkonfirmasi bahwa SQL Server (SQLEXPRESS), memang berjalan.

Namun, saya melihat layanan menarik lainnya yang disebut SQL Server Browser yang dinonaktifkan. Saya mengaktifkannya, memecatnya dan kemudian dapat mengambil nama server dalam koneksi baru di VS2012 EX dan terhubung.

Aneh bahwa mereka akan menonaktifkan layanan yang diperlukan agar VS dapat terhubung.

Michael Lawrence
sumber
Tidak diperlukan untuk terhubung; Saya telah menonaktifkannya dan saya dapat terhubung dengan baik. Itu hanya membuat segalanya lebih mudah ketika Anda tidak tahu nama host / instance yang tepat untuk dihubungkan karena memungkinkan hal-hal itu dipertanyakan oleh perangkat lunak lain.
Simon Morgan
8

Pertama coba solusi paling populer yang disediakan oleh Ravindra Bagale .

Jika koneksi Anda dari localhost ke database masih gagal dengan kesalahan yang mirip dengan berikut ini:

Tidak dapat terhubung ke SQL Server DB. Kesalahan: Koneksi TCP / IP ke host [alamat IP], port 1433 gagal. Kesalahan: "Sambungan ditolak: sambungkan. Verifikasi properti sambungan. Pastikan bahwa contoh SQL Server berjalan di host dan menerima sambungan TCP / IP di port. Pastikan sambungan TCP ke port tidak diblokir oleh firewall . "

  1. Buka Manajer Konfigurasi Server SQL.
  2. Perluas Konfigurasi Jaringan SQL Server untuk contoh server yang dimaksud.
  3. Klik dua kali "TCP / IP".
  4. Di bawah bagian "Protokol", setel "Diaktifkan" ke "Ya".
  5. Di bawah bagian "Alamat IP", setel port TCP di bawah "IP Semua" (yang secara default 1433).
  6. Di bawah bagian "Alamat IP", temukan subbagian dengan alamat IP 127.0.0.1 (untuk IPv4) dan :: 1 (untuk IPv6) dan setel "Enabled" dan "Active" ke "Yes", dan port TCP ke 1433.

    Properti TCP / IP

  7. Masuk ke Start > Control Panel > Administrative Tools > Services, dan mulai ulang layanan SQL Server ( SQLEXPRESS).

naXa
sumber
Saya mencoba solusi lain di atas sebelum sampai di sini. Yang ini memperbaikinya untukku! Juga, saya menemukan mengunduh sesuatu yang disebut psping membantu saya menguji koneksi. Contoh: psping 127.0.0.1:1433
JMI MADISON
7

Pertama, periksa Layanan SQL Server Berjalan atau dihentikan, jika dihentikan, mulai saja, untuk melakukannya .. cukup ikuti langkah-langkah di bawah ini.

1. Mulai -> Jalankan -> Services.msc

masukkan deskripsi gambar di sini

  1. Buka tab Standar di panel layanan lalu cari SQl Server (SQL2014)

"SQL2014" diberikan oleh saya, itu mungkin Nama Lain dalam kasus Anda

masukkan deskripsi gambar di sini

itu saja setelah Anda memulai Layanan SQL, Anda dapat menghubungkan database lokal.

berharap itu akan membantu seseorang.

PK-1825
sumber
4

Semua layanan saya berjalan seperti yang diharapkan, dan saya masih tidak dapat terhubung.

Saya harus memperbarui bagian properti TCP / IP di Manajer Konfigurasi Server SQL untuk protokol SQL Server Express saya, dan mengatur port IPALL ke 1433 untuk menyambung ke server seperti yang diharapkan.

masukkan deskripsi gambar di sini

contactmatt
sumber
3

Coba ubah dari otentikasi windows ke mode campuran

Guru1
sumber
1

Anehnya, saya punya masalah serupa. Saya mengunduh paket untuk SQL 2012 Express dengan Alat tetapi Mesin Database tidak diinstal.

Saya donload yang lain dari situs MS dan yang ini menginstal mesin database. Setelah reboot layanan terdaftar dan siap digunakan.

pengguna2832504
sumber
1

Situasi saya

  • Kosongkan Nama Instance di SQL Server Management Studio> pilih mesin database Anda> Tombol Mouse Kanan> Properti (Properti Server)> Link Lihat properti koneksi> Produk> Nama Instance kosong

  • Sumber Data =. \ SQLEXPRESS tidak berfungsi => gunakan localhost di web.config (lihat di bawah)

Solusi : di web.config

xxxxxx = nama database saya tanpa .mdf yyyyyy = nama database saya di penjelajah database VS2012

Anda dapat memaksa penggunaan TCP alih-alih memori bersama, baik dengan mengawali tcp: ke nama server di string koneksi, atau dengan menggunakan localhost.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

Marc Van Rumste
sumber
1

Saya memiliki masalah yang sama dan saya menemukan bahwa ini terjadi setelah saya menginstal pembaruan untuk SQL saya 2012. Apa yang memperbaikinya untuk saya adalah masuk ke program dan fitur dan menjalankan perbaikan di atasnya.

Mur
sumber
1

Masalah bagi saya adalah saya tidak menentukan .\. Saya hanya menentukan nama instance:

  • tidak bekerja: SQL2016
  • bekerja: .\SQL2016
Cosmin
sumber
1

Setelah melakukan langkah-langkah yang disebutkan oleh @ Ravindra Bagale , Coba langkah ini. Server name: localhost\{Instance name you were gave}

masukkan deskripsi gambar di sini

Mohamed Musthaque
sumber
0

Coba ubah Pengguna yang memiliki layanan ke Sistem Lokal atau gunakan akun admin Anda.

Di bawah layanan, saya mengubah Layanan SQL Server (MSSQLSERVER) Logon dari NT Service \ Sql ... ke Sistem Lokal. Klik kanan layanan dan pergi ke Tab Log On dan pilih tombol radio Akun Sistem Lokal. Anda juga dapat memaksa Pengguna lain untuk menjalankannya juga jika itu lebih cocok.

DavidTheDev
sumber