Saya tidak dapat terhubung ke SQL Server 2008 saya?

18

Saya baru saja menginstal SQL Server 2008 dan saya tidak dapat terhubung dengan SQL Server Management Studio. Maksud saya adalah membiarkan saja pengguna windows lokal saya diautentikasi tetapi saya tidak sepenuhnya yakin bagaimana melakukannya .

Dalam dialog hubungkan saya menulis:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

Pertanyaan pertama saya adalah apakah itu yang harus saya hubungkan? Ketika saya mencoba menghubungkan saya mendapatkan pesan kesalahan ini:

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance 
name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(Microsoft SQL Server, Error: 2)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Saya pergi ke URL yang ditampilkan dan pada dasarnya hanya mengatakan "pastikan server SQL berjalan". Saya pikir itu tetapi saya tidak sepenuhnya yakin.

Saya telah menonaktifkan Windows Firewall (ini adalah Windows 7 7100 x86). Saya juga mengubah sistem log in di SQL Server Configuration Manager tetapi tampaknya itu bukan masalah masuk tetapi bahkan tidak dapat membuka soket untuk itu. Pada alat yang sama saya telah mengaktifkan semua protokol di "SQL Server Network Configuration" -> "Protokol untuk SQLEXPRESS" tanpa hasil. Saya kehabisan ide. Apa lagi yang bisa saya coba?

pupeno
sumber
Kedengarannya seperti jawaban yang benar di sini adalah contoh bernama. . \ SqlExpress dot yang berarti localhost dan \ SqlExpress adalah contoh yang ingin Anda sambungkan. Bagi yang tidak tahu, Anda bisa memiliki lebih dari satu SQL Server di mesin. SqlExpress dalam hal ini, hanya namanya, dan bukan indikasi ketat dari jenis atau verison produk yang ketat.
p.campbell

Jawaban:

23

Oke, dapatkah Anda membuka konsol layanan dan gulir ke bawah ke S untuk SQL Server. Anda sekarang harus melihat layanan. Harap pastikan SQL Server (SQLEXPRESS) berjalan dan coba. \ SQLEXPRESS alih-alih (lokal).

Jadi sesuai contoh Anda:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

Semoga ini membantu

Pembaruan: Petunjuk ini karena saya menganggap Anda menjalankan Edisi Express bukan edisi SQL Server / Dev / Std / Ent


Coba pastikan protokol yang sesuai diaktifkan:

  1. Mulai Manajer Konfigurasi SQL (yaitu: Mulai-> Program-> SQL Server-> Alat Konfigurasi)
  2. Perluas konfigurasi SQL native Client
  3. Klik Protokol Klien (Anda mungkin memiliki 32-bit dan 64-bit, berlaku untuk keduanya)
  4. Pastikan Memori bersama, TCP / IP, Named Pipes diaktifkan dalam urutan itu
  5. Perluas Konfigurasi Jaringan SQL Server
  6. Pastikan Memori Bersama untuk SQLEXPRESS dan / atau MSSQLSERVER diaktifkan
  7. Klik Layanan SQL Server
  8. Mulai ulang semua layanan yang berjalan

Anda sekarang dapat masuk ke instance


Jika Anda tidak dapat masuk sama sekali, Anda mungkin harus mengikuti petunjuk ini untuk mendapatkan SQL Server ke mode pengguna tunggal. Lihat di sini untuk instruksi lengkap dari Microsoft.

Secara default, sqlservr.exe terletak di C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn. Jika contoh kedua SQL Server diinstal, salinan kedua sqlservr.exe terletak di direktori seperti

C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ binn.

Anda dapat memulai satu instance dari SQL Server dengan menggunakan sqlservr.exe dari instance yang berbeda, tetapi SQL Server juga akan memulai versi instance yang salah, termasuk paket layanan, yang dapat menyebabkan hasil yang tidak terduga.

Untuk menghindari ini, gunakan perintah MS-DOS change directory (cd) untuk pindah ke direktori yang benar sebelum memulai sqlservr.exe, seperti yang ditunjukkan pada contoh berikut.

cd \ Program Files \ Microsoft SQL Server \ MSSQL10_50.1 \ MSSQL \ Binn

Untuk memulai contoh default SQL Server dalam mode pengguna tunggal dari prompt perintah

Dari prompt perintah, masukkan perintah berikut:

sqlservr.exe -m

Mode single-user dapat berguna untuk melakukan pemeliharaan darurat ketika Anda tidak ingin pengguna lain terhubung ke SQL Server, tetapi setiap pengguna dapat menjadi pengguna tunggal, termasuk layanan SQL Server Agent.

Anda sekarang dapat masuk ke instance dan menambahkan diri Anda ke tab keamanan dan memberikan akses penuh.

Metode Alternatif:

Ada skrip di sini yang mengklaim untuk menambahkan pengguna saat ini ke peran sysadmin SQL Server. Ini mungkin berfungsi dalam mode satu pengguna tetapi saya belum memverifikasinya

Wayne
sumber
Apakah tab Layanan Konsol Layanan pada Windows Task Manager? (Win7). Bagaimanapun, SQLEXPRESS tidak ada di sana, bagaimana saya menjalankannya?
pupeno
1
Konsol layanan mulai -> panel kontrol -> alat administratif -> layanan
Wayne
Sudahlah, saya telah menemukan konsol Layanan, SQLEXPRESS berjalan.
pupeno
Menghubungkan ke. \ SQLEXPRESS berhasil. Terima kasih banyak, Wayne!
pupeno
1
Terima kasih banyak ... sudah gila mencoba untuk mencari tahu ini! (Catatan kepada orang lain di ". \ SQLEXPRESS" ... "SQLEXPRESS" adalah nomor contoh yang Anda berikan kepada server saat menginstal.
RiddlerDev
0

(Lokal) diselesaikan ke 127.0.0.1, dan hanya berfungsi untuk default. Contoh, seperti default untuk SQL Server Express, perlu nama asli. Perhatikan bahwa Anda dapat memeriksa log kesalahan untuk SQL Server (folder instal SQL, lalu log) dan salah satu dari beberapa entri pertama akan memberi Anda IP, port, dan nama instance.

Jadi Anda bisa menggunakannya. Nama instance baik untuk digunakan, karena mereka cukup konsisten. Perhatikan bahwa mereka juga menggunakan port dinamis, jadi itu bisa menjadi port yang berbeda pada setiap restart. Manajer konfigurasi SQL Server dapat mengatur port tertentu. tidak yakin tentang alat Express.

Steve Jones
sumber