Tại sao tôi nhận được kết nối không thể kết nối với máy chủ - Lỗi liên quan đến mạng hoặc trường hợp cụ thể?


378

Tôi gặp lỗi sau khi thử kết nối với SQL Server:

Không thể kết nối với 108.163.224.173.

Xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server.

Máy chủ này không tìm thấy hoặc không thể truy cập được. Xác minh rằng tên ví dụ là chính xác và SQL Server được cấu hình để cho phép kết nối từ xa.

(nhà cung cấp: Nhà cung cấp ống có tên, lỗi: 40 - Không thể mở kết nối với SQL Server) (Microsoft SQL Server, Lỗi: 1326)

Lỗi này được đưa ra khi tôi cố gắng định cấu hình cơ sở dữ liệu của mình thành Gridview trong Visual Studio 2010. Tôi không biết cách gỡ lỗi này.

Làm thế nào bạn sẽ gỡ lỗi này? Tôi nên thực hiện các bước nào để xác định điều gì đang thực sự xảy ra ở đây, ngoài bước được đề cập trong thông báo lỗi?


11
Một ping không đáng tin cậy để kiểm tra kết nối SQL Server, yêu cầu echo ICMP bị tắt theo mặc định trong Windows Server. Tên người dùng hoặc mật khẩu không hợp lệ hoàn toàn không phải là lỗi mà bạn đang nói, đó là một lỗi hoàn toàn khác.
Sean Airey

1
Hãy thử bài viết này, nó sẽ trải qua khá nhiều bước bạn sẽ cần khắc phục sự cố kết nối của mình: social.technet.microsoft.com/wiki/contents/articles/ Lỗi
Sean Airey

3
Xem câu trả lời của tôi ở đây với ảnh chụp màn hình của tôi nếu bạn nhận được lỗi này với SQL Server {version} Express, khi thiết lập lần đầu tiên. Tôi đã trở lại StackOverflow và sử dụng câu trả lời của mình một lần nữa bởi vì đó là cách duy nhất hoạt động. stackoverflow.com/questions/1391503/
Mạnh

Tôi đã gặp sự cố này trên Máy chủ ảo của mình khi tôi muốn kết nối với localhost. Có vẻ như đã có một số lỗi khi khởi chạy HĐH - trong trường hợp của tôi, mọi thứ đã được giải quyết một cách may mắn với khởi động lại sạch.
Qohelet

Hôm nay tôi đã dành rất nhiều thời gian cho việc này, cuối cùng, điều làm việc cho tôi là: Mở Trình quản lý cấu hình máy chủ Sql -> Giao thức cho <INSTANCE> -> TCP / IP -> Địa chỉ IP (Tab) . Chuyển đến IP mục nhập cuối cùng Tất cả và đề cập đến Cổng TCP 1433 . Bây giờ khởi động lại SQL Server (INSTANCE) bằng services.msc . Sau đó, vấn đề đã được giải quyết.
ani627

Câu trả lời:


301

Tôi thấy các kỹ thuật sau đây hữu ích:

  1. Đảm bảo rằng công cụ cơ sở dữ liệu của bạn được cấu hình để chấp nhận các kết nối từ xa :

    • Bắt đầu> Tất cả chương trình> SQL Server 2005> Công cụ cấu hình> Cấu hình bề mặt máy chủ SQL
    • Nhấp vào Cấu hình bề mặt cho các dịch vụ và kết nối
    • Chọn trường hợp gặp sự cố> Cơ sở dữ liệu> Kết nối từ xa
    • Cho phép kết nối cục bộ và từ xa
    • Khởi động lại ví dụ
  2. Bạn có thể cần tạo một ngoại lệ trên tường lửa cho phiên bản SQL Server và cổng bạn đang sử dụng:

    • Bắt đầu> Chạy> Tường lửa.cpl
    • Nhấp vào tab ngoại lệ
    • Thêm sqlservr.exe (thường nằm trong C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, kiểm tra cài đặt của bạn để biết đường dẫn thư mục thực tế) và cổng (mặc định là 1433)
    • Kiểm tra chuỗi kết nối của bạn là tốt
  3. Kiểm tra xem các dịch vụ máy chủ SQL của bạn có hoạt động tốt không:

    • Chuyển đến Tất cả chương trình> Microsoft SQL Server 2008> Công cụ cấu hình> Trình quản lý cấu hình máy chủ SQL> Dịch vụ máy chủ SQL
    • Kiểm tra để đảm bảo trạng thái dịch vụ SQL Server đang chạy.

    Ngoài ra, đảm bảo rằng máy chủ từ xa của bạn nằm trong cùng một mạng . Chạy sqlcmd -Lđể xác định xem máy chủ của bạn có nằm trong danh sách mạng của bạn không.

  4. Kích hoạt TCP / IP trong cấu hình máy chủ SQL

    Khi hai hoặc nhiều Máy chủ SQL được kết nối qua mạng, chúng thực hiện tất cả giao tiếp bằng TCP / IP. Cổng mặc định của cài đặt SQL Server là 1433. Cổng này có thể được thay đổi thông qua Trình quản lý cấu hình SQL Server. TCP / IP phải được kích hoạt để SQL Server được kết nối.

    • Chuyển đến Tất cả chương trình >> Microsoft SQL Server 2008 >> Công cụ cấu hình >> Trình quản lý cấu hình máy chủ SQL >> Chọn TCP / IP
    • Nhấp chuột phải vào TCP / IP >> Nhấp vào Bật

    Bạn phải khởi động lại Dịch vụ máy chủ SQL để tất cả các thay đổi có hiệu lực. Nhấp chuột phải và vào thuộc tính menu để chọn vị trí có thể thay đổi cổng mặc định của SQL Server.


10
Kích hoạt TCP / IP trong Cấu hình máy chủ SQL là giải pháp cho tôi khi sử dụng SQL Server 2014 Express.
Mike Richards

73
Hôm nay tôi đã dành rất nhiều thời gian cho việc này, cuối cùng, điều làm việc cho tôi là: Mở Trình quản lý cấu hình máy chủ Sql -> Giao thức cho <INSTANCE> -> TCP / IP -> Địa chỉ IP (Tab) . Chuyển đến IP mục nhập cuối cùng Tất cả và đề cập đến Cổng TCP 1433 . Bây giờ khởi động lại SQL Server (<INSTANCE>) bằng services.msc . Sau đó, vấn đề đã được giải quyết!
ani627

1
Tôi cũng đã phải đối mặt với vấn đề cụ thể trên máy chủ Sql cục bộ của mình và giải quyết bằng cách kiểm tra các dịch vụ cục bộ của hệ điều hành và Tìm kiếm các dịch vụ Sql cụ thể và khởi động từng cái một. Nó đã làm việc hoàn hảo.
Faisal Naseer

4
Tôi cũng có vấn đề tương tự, đăng nhập vào máy chủ sql thấy rằng dịch vụ mssqlserer đã bị dừng, bắt đầu nó. Đã có thể kết nối với ví dụ ngay bây giờ
Rak

15
Cũng NHỚ để ENABLE SQL Server Browserphục vụ. Đã thiết lập một số máy chủ SQL trong thời gian của tôi ... Tuy nhiên, bước này dường như luôn có các kịch bản khác nhau liên quan :)
mschr

125

Tôi có Giải pháp cho tôi:

Mở "Trình quản lý cấu hình máy chủ SQL"

Bây giờ, nhấp vào "Cấu hình mạng máy chủ SQL" và nhấp vào "Giao thức cho tên "

Nhấp chuột phải vào "TCP / IP" (đảm bảo rằng nó đã được bật) Nhấp vào Thuộc tính

Bây giờ Chọn tab "Địa chỉ IP" -và- Chuyển đến mục cuối cùng "Tất cả IP"

Nhập "Cổng TCP" 1433.

Bây giờ khởi động lại "SQL Server .Name." sử dụng "services.msc" (winKey + r)

Nó sẽ hoạt động ...


Thử điều này, nhưng vì một số lý do khi tôi nhấp chuột phải và chọn "Thuộc tính" trên "TCP / IP" trong windows10, nó không kéo lên cửa sổ hộp thoại cho điều đó. Các nút khác nói chung trong treeview làm hộp thoại bật lên tốt. Bất cứ ai cũng có vấn đề này và ý tưởng để vượt qua nó?
Ryan Betker - HealthNCode 28/03/2016

3
Trong SQL Server 2014, sử dụng (localdb) \ mssqllocaldb thay vì (localdb) \ v11.0
Shalva Avanashvili

67
Sao chép đã dán nhận xét của tôi (được đăng vào ngày 24 tháng 2 năm 2015 - 7 tháng trước khi đăng bài của bạn) dưới dạng câu trả lời mà không cho tôi tín dụng! : P
ani627

2
Điều này đã làm việc. Tôi không thể kết nối với SQL Server 2016. Thực hiện những thay đổi này và nó đã hoạt động! Cảm ơn.
Ankur

1
nó làm việc cho tôi chỉ phải khởi động các dịch vụ trong "service.msc" sau khi bật TCP / IP và Named Faucet trong trình quản lý cấu hình.
Alif Noushad

100

Thêm bình luận được đánh giá cao của tôi như một câu trả lời với ảnh chụp màn hình.

Tôi đã dành rất nhiều thời gian cho việc này, cuối cùng, điều làm việc cho tôi là:

1) Mở Trình quản lý cấu hình máy chủ Sql -> Cấu hình mạng máy chủ SQL -> Giao thức cho <(INSTANCE)> -> TCP / IP (nhấp đúp vào nó).

nhập mô tả hình ảnh ở đây

2) Chọn -> Địa chỉ IP (Tab) .

3) Chuyển đến IP mục nhập cuối cùng Tất cả và đề cập đến Cổng TCP 1433 .

nhập mô tả hình ảnh ở đây

4) Nhấn Win+Rvà nhập services.msc .

5) Bây giờ khởi động lại máy chủ SQL <(INSTANCE)> .

nhập mô tả hình ảnh ở đây

Sau đó, vấn đề đã được giải quyết!



Làm việc cho tôi, SQL Express 2012
mất_in_magento

Đã làm việc cho tôi trong máy chủ sql 2012 sau khi bật TCP, Đã thêm số cổng 1433 vào TCP ALL và khởi động lại dịch vụ!
Chirag Khatsuriya

Ngoài ra, tôi cũng phải cho phép TCP 1433 UDP 1434 trong Tường lửa
MarkusEgle

83

Tôi đang giải quyết vấn đề đó bằng cách mở Dịch vụ sau đó bắt đầu chạy dịch vụ Sql Server (Sqlexpress) .

hình ảnh dịch vụ


3
Tôi đã thấy nơi dịch vụ cửa sổ SQL Server được đặt thành Loại khởi động thủ công, vì vậy nó không khởi động lại khi khởi động lại. Nó nên được đặt thành Tự động.
robertburke

2
Đây chính xác là những gì tôi đã làm, Trạng thái của tôi đang chạy và StartupType là Tự động, nhưng tôi vẫn gặp phải sự cố, vì vậy tôi đã sử dụng các dịch vụ từ loại cửa sổ Run services.mscsau đó tôi nhấp chuột phải vào SQL Server (SQL EXPRESS) cho menu ngữ cảnh và chỉ dừng và bắt đầu dịch vụ một lần nữa và hoạt động tốt cho tôi, hy vọng sẽ giúp.
shaijut

22

Lỗi này chủ yếu xuất hiện khi Dịch vụ SQL bị dừng. Bạn cần Khởi động lại dịch vụ. Để đến cửa sổ này, bạn phải tìm kiếm các Dịch vụ như thế này- nhập mô tả hình ảnh ở đây

Sau đó Tìm kiếm SQLSERVER (MSSQLSERVER) và Khởi động lại dịch vụ.

nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ làm việc.


18

Nhấn window + R (Run window Open)và trong loại cửa sổ đang chạy "services.msc"và các dịch vụ mới mở tìm SQL SERVER với tên ví dụ trong trường hợp của tôi, SQL SERVER(SQLEXPRESS)sau đó bắt đầu dịch vụ này và thử lại nó hoạt động với tôi Hy vọng nó cũng hoạt động cho bạn.nhập mô tả hình ảnh ở đây


Câu trả lời đã được cung cấp trước đây. Không nhận được bất kỳ lý do nào đăng nó một lần nữa
Anik Saha

8
bạn thân đang đối mặt với cùng một vấn đề nhưng tôi không biết cửa sổ dịch vụ mở nóng sau đó tôi đã tìm được cách và tôi nghĩ chia sẻ với mọi người
Hafiz Asad

Cảm ơn, @HafizAsad. Câu trả lời của bạn làm việc cho tôi.
Adnan Ahmad

@AdnanAhmad bạn được chào đón. Cảm ơn sự đánh giá cao.
Hafiz Asad

16

Trong trường hợp bạn có thể đang sử dụng Phiên bản Express :

Thêm vào "\SQLEXPRESS" sau tên máy chủ của bạn

ví dụ "MY-SERVER\SQLEXPRESS"

nhập mô tả hình ảnh ở đây


13

Tôi đã gặp lỗi tương tự khi tôi muốn chạy dự án WinForms của mình (bao gồm làm việc với cơ sở dữ liệu SQL Server và hoạt động hoàn hảo trên PC của tôi) trên một PC khác. Vấn đề là trong Windows Firewall trên PC của tôi. Tôi đã giải quyết điều này bằng cách thêm hai quy tắc. Đây là toàn bộ quy trình làm thế nào để cho phép SQL Server thông qua Windows Firewall:

  1. Mở "Chạy" và nhập services.msc
  2. Tìm dịch vụ cho SQL Server (tên ví dụ) và Trình duyệt SQL Server. Một lần, nhấp chuột phải, chọn "Thuộc tính", sao chép đường dẫn đến tệp exe
  3. Sau đó mở firewall.cpl, nhấp cho phép một ứng dụng hoặc thêm quy tắc, thêm đường dẫn được sao chép trước đó (có một quy trình bạn cần tuân theo), kiểm tra Miền và Riêng tư, bỏ chọn Công khai.

Đây là liên kết YouTube nơi bạn có thể thấy quy trình này: Cho phép SQL Server thông qua Windows Firewall


Hoạt động hoàn hảo cho tôi. Quan trọng: Thêm trình duyệt và máy chủ trong tường lửa! +1
BendEg

Tôi đã có một thời gian khó khăn để định vị tệp sqlservr.exe, điều này đã có mẹo trong việc định vị nó.
Stan

11

Nếu không có giải pháp nào ở trên hoạt động (không có gì hiệu quả với tôi) thì chỉ cần RESTART máy tính của bạn và bạn sẽ có thể kết nối với máy chủ sql (localhost).


Lý do tại sao điều này sẽ hoạt động, nó là vì bạn vừa cài đặt Sql Server và chưa khởi động lại máy tính như cài đặt đã nói với bạn. Vì vậy, làm điều đó và sau đó các dịch vụ sẽ được tạo và tất cả các cấu hình cần thiết bị thiếu.
Sterling Diaz

10

Sau khi làm mọi thứ được đề cập ở đây:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- kết nối đến sql-server-microsoft-sql-server-error / Vẫn không hoạt động với tôi.

Các bước làm việc cho tôi:

Start > Run > cmd > sqlcmd -L

Nó sẽ nhắc bạn tên máy chủ. Đảm bảo tên máy chủ này giống với tên bạn đang cố gắng kết nối trong hộp CONNECT TO SERVER của studio quản lý SQL.

Tôi đã phạm sai lầm ngớ ngẩn này, tôi tiếp tục sử dụng MSSQLSERVER thay vì sử dụng tên máy chủ này.

Hy vọng điều này sẽ giúp cho những người mắc lỗi ngớ ngẩn như tôi.

Cảm ơn.


7

Tôi đang sử dụng SQL Server 2016 và Window 10.

nhập mô tả hình ảnh ở đây

Điều đầu tiên là cho phép kết nối từ xa đến SQL Server. Những gì tôi đã làm là nhập sqlservermanager13.msc vào menu start để mở Trình quản lý cấu hình máy chủ SQL. Đảm bảo trạng thái TCP / IP được bật. nhập mô tả hình ảnh ở đây

Kiểm tra số cổng TCP của bạn bằng cách nhấp đúp vào tên giao thức TCP / IP. Thông thường nó là 1433 theo mặc định.

nhập mô tả hình ảnh ở đây

Các quy trình sau đây định cấu hình Tường lửa Windows bằng cách sử dụng Tường lửa Windows với phần đính vào Microsoft Security Console (MMC) bảo mật nâng cao. Tường lửa Windows với Advanced Security chỉ cấu hình cấu hình hiện tại.

Để mở một cổng trong tường lửa Windows để truy cập TCP

  1. Trên menu Bắt đầu, bấm Chạy, gõ WF.msc, rồi bấm OK.
  2. Trong Tường lửa Windows với Bảo mật nâng cao, trong ngăn bên trái, bấm chuột phải vào Quy tắc đến, sau đó bấm Quy tắc mới trong ngăn hành động.
  3. Trong hộp thoại Loại quy tắc, chọn Cổng, sau đó bấm Tiếp theo.
  4. Trong hộp thoại Giao thức và Cổng, chọn TCP. Chọn các cổng cục bộ cụ thể, sau đó nhập số cổng của phiên bản của Công cụ cơ sở dữ liệu, chẳng hạn như 1433 cho phiên bản mặc định. Nhấn tiếp.
  5. Trong hộp thoại Hành động, chọn Cho phép kết nối, rồi bấm Tiếp theo.
  6. Trong hộp thoại Cấu hình, chọn bất kỳ cấu hình nào mô tả môi trường kết nối máy tính khi bạn muốn kết nối với Cơ sở dữ liệu, sau đó bấm Tiếp theo.
  7. Trong hộp thoại Tên, nhập tên và mô tả cho quy tắc này, rồi bấm Kết thúc.

Một điều nữa để cấu hình.

Để mở quyền truy cập vào SQL Server khi sử dụng cổng động

  1. Trên menu Bắt đầu, bấm Chạy, gõ WF.msc, rồi bấm OK.
  2. Trong Tường lửa Windows với Bảo mật nâng cao, trong ngăn bên trái, bấm chuột phải vào Quy tắc đến, sau đó bấm Quy tắc mới trong ngăn hành động.
  3. Trong hộp thoại Loại quy tắc, chọn Chương trình, sau đó bấm Tiếp theo.
  4. Trong hộp thoại Chương trình, chọn Đường dẫn chương trình này. Bấm Duyệt và điều hướng đến phiên bản SQL Server mà bạn muốn truy cập thông qua tường lửa, rồi bấm Mở. Theo mặc định, SQL Server có tại C: \ Program Files \ Microsoft SQL Server \ MSSQL13.MSQuerySERVER \ MSSQL \ Binn \ Sqlservr.exe. Nhấn tiếp.
  5. Trong hộp thoại Hành động, chọn Cho phép kết nối, rồi bấm Tiếp theo.
  6. Trong hộp thoại Cấu hình, chọn bất kỳ cấu hình nào mô tả môi trường kết nối máy tính khi bạn muốn kết nối với Cơ sở dữ liệu, sau đó bấm Tiếp theo.
  7. Trong hộp thoại Tên, nhập tên và mô tả cho quy tắc này, rồi bấm Kết thúc.

Có một cái nhìn về sự thay đổi của Microsoft Cấu hình một Tường lửa Windows để truy cập công cụ cơ sở dữ liệu


Trên PC của tôi, Windows 10, phiên bản máy chủ sql có tại C: \ Program Files \ Microsoft SQL Server \ MSSQL13.SQLEXPRESS \ MSSQL \ Binn \ Sqlservr.exe
Mayer Spitzer

7

Bạn có thể kiểm tra các phương pháp sau.

  • một

    1. Kiểm tra chuỗi kết nối của dự án.
  • b

    1. Đi đến các dịch vụ và khởi động lại SQLServer Instance.
  • c

    1. Mở 'Trình quản lý cấu hình SQLServer'
    2. Trong bảng điều khiển bên trái, chọn 'Cấu hình mạng SQLServer' và mở rộng nó
    3. Chọn 'Giao thức cho MSSQLServer'
    4. Trong bảng điều khiển bên phải, nhấp vào 'TCP / IP'
    5. Trong tab 'Giao thức', đặt 'Đã bật' thành 'Có'
    6. Trong tab 'Địa chỉ IP' cuộn xuống
    7. Trong 'IP ALL', đặt 'Cổng TCP' thành 1433
  • d
    1. Mở 'Tường lửa với bảo mật nâng cao'
    2. Trong tab bên phải, chọn 'Quy tắc trong nước'

Trong tab giữa tìm bản ghi rằng 'Cổng cục bộ' là 1433, Nếu bạn không thể tìm thấy, hãy thử tạo nó với các mức sau

  • Trong menu Bắt đầu, bấm Chạy, nhập 'WF.msc', rồi bấm OK
  • Trong bảng điều khiển bên trái, nhấp vào 'Tường lửa Windows với Bảo mật Nâng cao'
  • Trong bảng bên phải, nhấp chuột phải vào 'Quy tắc trong nước', rồi bấm vào 'Quy tắc mới'
  • Trong hộp thoại Loại quy tắc, chọn 'Cổng', sau đó bấm Tiếp theo
  • Trong hộp thoại Giao thức và Cổng, chọn 'TCP' và chọn 'Cổng cục bộ cụ thể', sau đó nhập số cổng 1433, nhấp vào Tiếp theo
  • Trong hộp thoại Hành động, chọn Cho phép kết nối, rồi bấm Tiếp theo
  • Trong hộp thoại 'Hồ sơ', kiểm tra Tên miền, Riêng tư và Công khai, sau đó bấm Tiếp theo
  • Trong hộp thoại 'Tên', nhập 'Cổng SQL 1433' và để biết mô tả viết mô tả cho riêng mình. Sau đó bấm Kết thúc
  1. Sau đó, trong tab giữa, nhấp đúp vào mục tìm thấy (Trường hợp) hoặc mục đã tạo của tên 'Cổng SQL 1433' của bạn.
  2. Chọn tab 'Phạm vi' trong hộp thoại mở (Thuộc tính máy chủ SQL)
  3. Trong PC cục bộ Truy cập google.com trong Trình duyệt của bạn và tìm kiếm 'IP của tôi'.
  4. sau đó sao chép 'IP' của bạn
  5. Chuyển đến máy chủ từ xa và trong hộp thoại 'Thuộc tính máy chủ SQL' của tab 'Phạm vi', trong 'Địa chỉ IP từ xa', chọn tùy chọn 'Những địa chỉ IP này' và nhấp vào nút 'Thêm'
  6. Trong hộp thoại đã mở (Địa chỉ IP), chọn tùy chọn 'Địa chỉ IP hoặc mạng con' này và dán 'IP' của bạn, nhấp vào nút OK.

7

Giải pháp này giải quyết cả vấn đề network errorservicemáy chủ SQL phía sau

Tôi đã trả lời một câu hỏi tương tự ở đây, bạn cần thống kê câu hỏi khác open Run type-> services.msc- trong các dịch vụ -> sort by stoppedbạn sẽ thấy một loạt các dịch vụ SQL đã dừngRight click and start

Để bắt đầu - có 4 vấn đề mà có thể gây ra các chung lỗi kết nối LocalDb SQLEXPRESS Sql Server SQL Network Interfaces, error: 50 - Local Database Runtime error occurred , trước khi bạn bắt đầu bạn cần phải đổi tên v11 hoặc v12 đến (localdb) \ mssqllocaldb


Troubleshooting Steps
  1. Bạn không có các dịch vụ đang chạy cmd này , net start MSSQLSERVERhoặcnet start MSSQL$ instancename
  2. Bạn không có các cổng tường lửa ở đây được cấu hình nhập mô tả hình ảnh ở đây
  3. Cài đặt của bạn có và sự cố / hỏng (các bước bên dưới giúp bạn có một khởi đầu sạch đẹp)
  4. Bạn đã không đổi tên V11 hoặc 12 thành mssqllocaldb / SqlServer

Tôi thấy rằng đơn giản nhất là làm như dưới đây - Tôi đã đính kèm các bức ảnh và các bước để được giúp đỡ.


Resolution Steps:

Trước tiên hãy xác minh phiên bản bạn đã cài đặt, bạn có thể thực hiện việc này bằng cách kiểm tra sổ đăng ký bằng cách chạy cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" nếu bước này không thành công, bạn có thể xóa với tùy chọn dcmd> Sqllocaldb.exe d "someDb"
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png


5

Tôi đã gặp vấn đề tương tự và vấn đề là tôi đã thực hiện một số dự án trong giải pháp ( WebDroid) và mặc dù Default projectđã được chọn trong Package Manager Consolechuỗi sử dụng chuỗi kết nối từ Droiddự án:

PM> update-database -Verbose
Using StartUp project 'Droid'. <-- DROID
Using NuGet project 'Web'. <-- WEB
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
<!-- BAD TARGET DATABASE -->
Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
System.Data.SqlClient.SqlException (0x80131904): 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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   [REMOVED TEXT]
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Sau khi thiết lập Startup Projectđến WebDefault Projecttrong Package Manger Consoletôi đã làm cho nó hoạt động.


5

Tôi phải chạy dịch vụ Trình duyệt SQL Server vào Trình quản lý cấu hình SQL Server . Cài đặt không thể khám phá dịch vụ mới được tạo mà không có điều này.


1
Tôi chưa ở đó nhưng tôi đang tiến gần hơn. Trong Visual studio sau khi làm điều này cũng ngắt kết nối và kết nối lại, vẫn nhận được lỗi tương tự nhưng ít nhất từ ​​phía sau VS2015 tôi không thể tạo bảng và cơ sở dữ liệu tôi tạo đường may để chạy ngay bây giờ. (e, không có biểu tượng chữ thập tối nào trên chúng)
user3800527

1
lưu ý sau lệnh của bạn, điều này dẫn đến tên máy chủ trên máy cục bộ Bắt đầu> Chạy> cmd> sqlcmd -L
user3800527

4

Trong khi các giải pháp trên nên hoạt động trong 90% các trường hợp, nhưng nếu bạn vẫn đang đọc câu trả lời này !!! Bạn có thể đang cố gắng kết nối với một máy chủ khác ngoài dự định. Nó có thể là do một tệp cấu hình trỏ đến một máy chủ SQL khác với máy chủ thực tế mà bạn nghĩ rằng bạn đang cố gắng kết nối.

Đã xảy ra với tôi ít nhất.


1
Đã xảy ra với tôi là tốt. Nên kiểm tra trước khi kiểm tra cố gắng chẩn đoán tường lửa. Tôi đã có chuỗi kết nối đúng, nhưng tôi đang chạy dự án sai trong giải pháp ...
VSO

4

Tôi đã chuyển từ một máy tính xách tay làm việc trên Windows 7 sang một máy tính xách tay làm việc trên Windows 10. Tôi đã sử dụng SSMS2016 trên Windows 7 thành công.

Vấn đề tương tự được áp dụng bằng SSMS2012 hoặc SSMS2016. Quyền truy cập của tôi vào các máy chủ 10 sql bằng xác thực windows vẫn như cũ. Tôi có thể kiểm tra điều này từ một máy chủ khác. Tuy nhiên, 2 trong số 10 máy chủ sẽ không kết nối từ máy tính xách tay của tôi . Cả hai đều là ms sql server 9 nhưng tôi có thể kết nối với cơ sở dữ liệu 9 máy chủ sql khác.

Giải pháp là thêm quy tắc tường lửa (sử dụng Windows Firewall với Advanced Security).

Tạo quy tắc đến cho mỗi SSMS, ví dụ: C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ Ssms.exe

Tôi không phải là chuyên gia về mạng nên tôi không bao gồm các chi tiết nhưng hy vọng nó sẽ chỉ cho bạn đi đúng hướng.


Thông báo lỗi (quy tắc tường lửa trước) "Xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server. Không tìm thấy máy chủ hoặc không truy cập được. Xác minh rằng tên đối tượng là chính xác và SQL Server được cấu hình để cho phép kết nối từ xa. (nhà cung cấp: Giao diện mạng SQL, lỗi: 26 - Lỗi định vị máy chủ / trường hợp được chỉ định) (Nhà cung cấp dữ liệu .Net SqlClient) "


4

Tại sao lỗi này rất nhàm chán và ồn ào, chỉ vì nó có thể xảy ra trong tình huống khác nhau.

Tôi đã thực hiện tất cả các phê duyệt ở trên, và vẫn còn bị hút. Vì vậy, hãy chắc chắn rằng bạn đã làm giống như tôi trước khi duyệt xuống.

Có thể tôi không thể khắc phục tình trạng của bạn ngay lập tức, nhưng tôi có thể chỉ ra một hướng hoặc suy nghĩ cho bạn (Người cuối cùng trượt xuống đây). Tôi đã bắt đầu suy nghĩ về lỗi chương trình đang chạy của mình xảy ra sau khi tôi chắc chắn rằng tên đối tượng rõ ràng là đúng và đặt cơ sở dữ liệu của tôi để cho phép điều khiển từ xa theo các phương pháp trên. Sau đó, tôi đã nghi ngờ điều gì đó sai xảy ra trong đoạn mã kết nối SQL của mình.

Giải pháp cho vấn đề của tôi:

  • Kiểm tra chức năng sqlconnection của tôi

  • Nhấn vào đây để xem cấu hình của nó

  • Kết nối mới

nhập mô tả hình ảnh ở đây

  • Chọn tên máy chủ của bạn

nhập mô tả hình ảnh ở đây

Nó hoạt động với tôi với việc cân nhắc chính xác những gì xảy ra trong quá trình kết nối. Hy vọng suy nghĩ của tôi sẽ dẫn bạn đến việc giết chết lỗi của bạn.


Điều này giúp tôi thấy rằng tôi cần phải XÓA số cổng cho chuỗi kết nối LocalDB, khi sử dụng Entity Framework.
ryanwebjackson

4

Tôi đã thử tất cả các câu trả lời khác cho câu hỏi này và một số nếu không phải tất cả có thể đóng vai trò giúp tôi làm việc này, nhưng tôi vẫn không thể kết nối với DB từ xa. Tôi đã sử dụng SQL Server trên máy ảo Azure.

Cuối cùng tôi đã nhớ rằng VM có các điểm cuối được kiểm soát bởi proxy tài khoản Azure, vì vậy tôi đã truy cập Cổng thông tin Azure và thêm 1433 làm điểm cuối khả dụng và tôi có thể kết nối với phiên bản SQL của mình.

Hy vọng điều này sẽ giúp một người đã thử tất cả các câu trả lời khác và vẫn không gặp may!


4

Tóm lược

Để khắc phục sự cố này gặp phải khi chạy ứng dụng cục bộ so với cơ sở dữ liệu từ xa , hãy sử dụng Trình quản lý cấu hình SQL Server để thêm bí danh cho cơ sở dữ liệu từ xa.

Chi tiết

Gần đây tôi đã gặp phải vấn đề này khi chuyển từ Windows 7 sang máy tính xách tay Windows 10. Tôi đã chạy một môi trường thời gian chạy và phát triển cục bộ truy cập cơ sở dữ liệu Dev của chúng tôi trên một máy chủ từ xa. Chúng tôi truy cập cơ sở dữ liệu Dev thông qua thiết lập bí danh máy chủ thông qua Tiện ích mạng máy khách SQL Server (cliconfg.exe). Sau khi xác nhận rằng bí danh đã được thiết lập chính xác trong cả hai phiên bản 64 và 32 bit của tiện ích và máy chủ cơ sở dữ liệu có thể truy cập được từ máy tính xách tay mới thông qua SSMS, tôi vẫn gặp lỗi của OP (không phải địa chỉ IP của OP, khóa học).

Cần sử dụng Trình quản lý cấu hình SQL Server để thêm bí danh cho máy chủ cơ sở dữ liệu Dev từ xa. Đã sửa mọi thứ ngay.

nhập mô tả hình ảnh ở đây


4

Bạn có thể kiểm tra trạng thái dịch vụ của MS SQL Server 2014. Trong Windows 7, bạn có thể làm điều đó bằng cách:

  1. Đi đến tìm kiếm và nhập "Trình quản lý cấu hình SQL Server 2014
  2. Sau đó bấm vào "Dịch vụ máy chủ SQL" trên menu bên trái
  3. Kiểm tra thể hiện của trạng thái dịch vụ SQL Server nếu nó bị dừng hoặc đang chạy
  4. Nếu nó đã dừng, vui lòng thay đổi trạng thái sang chạy và đăng nhập vào SQL Server Management Studio 2014

3

Vấn đề của tôi bắt đầu khi tôi cố gắng thay đổi máy chủ từ IIS Express thành IIS cục bộ (trong khi sử dụng LocalDB ).

nhập mô tả hình ảnh ở đây

Tôi đang sử dụng LocalDB (cho mục đích phát triển) và khi tôi chuyển lại từ IIS cục bộ sang IIS Express, Visual Studio đã chuyển nguồn dữ liệu của tôi từ Nguồn dữ liệu = (LocalDb) \ MSSQLLocalDB sang Nguồn dữ liệu =. \ SQLEXPRESS

Chuỗi kết nối không chính xác

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

Chuỗi kết nối đúng

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

Hy vọng điều này sẽ giúp ai đó ngoài kia.


Cũng đừng phạm sai lầm ngớ ngẩn khi sử dụng / thay vì \ trong chuỗi kết nối.
pate

3

Cùng với việc thử mọi thứ theo đề xuất của Teo Chuen Wei Bryan, hãy đảm bảo bạn cũng đang tham khảo đúng tên Máy chủ / Trường hợp trong chuỗi kết nối.

Nếu bạn đang sử dụng dạng ngắn của tên máy chủ / Trường hợp trên máy chủ cơ sở dữ liệu hoặc trong tệp web.config, hãy đảm bảo bạn sử dụng tên miền đủ điều kiện (FQDN) / Instance

Ngoài ra, để kiểm tra kết nối từ máy chủ không có máy khách SQL server,

-> tạo tệp văn bản và thay đổi phần mở rộng tệp thành .udl

-> Nhấp chuột phải vào tệp và bạn có thể thấy tab kết nối.

-> Nhập tên máy chủ và đăng nhập thông tin để kiểm tra kết nối với máy chủ cơ sở dữ liệu.

Hi vọng điêu nay co ich.


3

Nếu bạn bất ngờ gặp phải lỗi này, hãy nói trong môi trường sản xuất và không có gì thay đổi, hãy thử 4 mục sau theo thứ tự dưới đây để xem nó có được sửa không.

  1. khởi động lại dịch vụ máy chủ sql.
  2. khởi động lại dịch vụ (giả sử IIS) đang gọi vào máy chủ sql. (vấn đề có thể xảy ra ở đây nếu thời gian giữa lúc bắt đầu cuộc gọi dịch vụ đến máy chủ SQL và thời gian bạn kết thúc nhận được lỗi phản hồi là rất ngắn (khoảng một hoặc hai giây).
  3. khởi động lại máy chủ sql máy chủ được bật.
  4. khởi động lại máy chủ dịch vụ gọi được bật.

3

Khi tôi gặp lỗi này trong Visual Studio,

Có một lỗi liên quan đến mạng hoặc trường hợp cụ thể xảy ra trong khi thiết lập kết nối với SQL Server. Máy chủ này không tìm thấy hoặc không thể truy cập được. Xác minh rằng tên ví dụ là chính xác và SQL Server được cấu hình để cho phép kết nối từ xa. (nhà cung cấp: Nhà cung cấp ống có tên, lỗi: 40 - Không thể mở kết nối với SQL Server)

... đó là trong quá trình thực thi mã C # sau, nó đã cố lấy dữ liệu SQL Server của tôi để hiển thị nó trong một lưới. Sự cố xảy ra chính xác trên dòng có kết nối.Open ():

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

Không thể giải thích được vì truy vấn SQL rất đơn giản, tôi có chuỗi kết nối đúng và máy chủ cơ sở dữ liệu có sẵn. Tôi đã quyết định tự chạy truy vấn SQL thực tế trong SQL Management Studio và nó chạy tốt và mang lại một số bản ghi. Nhưng có một điều nổi bật trong kết quả truy vấn: có một số văn bản HTML được mã hóa không chính xác trong trường loại varchar (max) trong bảng Friends (cụ thể là một số ký hiệu nhận xét được mã hóa thuộc loại được lưu <!--trong dữ liệu của cột "Tường thuật"). Hàng dữ liệu nghi ngờ trông như thế này:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

Lưu ý ký hiệu HTML được mã hóa " &lt;", viết tắt của ký tự "<". Bằng cách nào đó đã xâm nhập vào cơ sở dữ liệu và mã C # của tôi không thể nhận được! Nó thất bại mọi lúc ngay tại đường kết nối.Open ()! Sau khi tôi chỉnh sửa thủ công một hàng dữ liệu trong bảng cơ sở dữ liệu Bạn bè và đặt ký tự "<" được giải mã thay vào đó, mọi thứ đều hoạt động! Đây là hàng nên trông như thế nào:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

Tôi đã chỉnh sửa một hàng xấu mà tôi có bằng cách sử dụng câu lệnh CẬP NHẬT đơn giản dưới đây. Nhưng nếu bạn có một số hàng HTML được mã hóa vi phạm, bạn có thể cần một câu lệnh CẬP NHẬT phức tạp hơn sử dụng hàm REPLACE:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

Vì vậy, đạo đức của câu chuyện là (ít nhất là trong trường hợp của tôi), vệ sinh nội dung HTML của bạn trước khi lưu trữ nó trong cơ sở dữ liệu và bạn sẽ không gặp lỗi SQL Server khó hiểu này ngay từ đầu! (Uh, vệ sinh / giải mã chính xác nội dung HTML của bạn là chủ đề của một cuộc thảo luận khác xứng đáng với tìm kiếm StackOverflow riêng nếu bạn cần thêm thông tin!)


3

Hãy thử thêm một ,và một số cổng (như trong ,1433) vào cuối chuỗi kết nối của bạn.


3

Sắp xếp thẻ Xml trong Web.config rất quan trọng

Đầu tiên

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

Sau

<connectionStrings>
  <add name="SqlConnectionString" connectionString="Data Source=.; Initial Catalog=TestDB; Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

3

Trong tình huống của tôi, dịch vụ MSSQLSERVER có vấn đề nên tôi đã khởi động lại dịch vụ và giải quyết vấn đề.

Vì vậy, tôi khuyên bạn nên truy cập ứng dụng Dịch vụ bằng cách: Khóa Windows, tìm kiếm "Dịch vụ" , sau đó tìm phiên bản Sql của bạn thường là "Máy chủ SQL (MSSQLSERVER)" tại máy chủ Microsoft sql. Nhấp chuột phải vào dịch vụ và nhấp vào Bắt đầu, nếu bị vô hiệu hóa nhấp vào Khởi động lại.


2

Lỗi này xảy ra khi cá thể máy chủ sql của bạn là stopped .

GO đến tất cả các Chương trình> Máy chủ SQL> Công cụ cấu hình> QUẢN LÝ CẤU HÌNH SQL SERVER

sau đó nhấp vào SQL SERVER DỊCH VỤ, danh sách các trường hợp sẽ xuất hiện, chọn thể hiện trong câu hỏi và nhấp vào biểu tượng phát trên thanh công cụ hàng đầu, hy vọng điều này sẽ giúp ích.

câu trả lời này là rất muộn (nhưng muộn còn hơn không;)


2

Tôi đã giải quyết vấn đề này bằng cách đặt dự án sử dụng Entity Framework làm dự án khởi động và sau đó chạy lệnh "update-database".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.