Số lần thử ban đầu
Tôi có máy ảo Azure với Windows Server 2012, mà tôi vừa cài đặt Cơ sở dữ liệu SQL Server 2012 Express thành phần. Sau đó, tôi làm theo hướng dẫn here để kết nối từ xa với SQL Server Management Studio.Sử dụng SQL Server Management Studio để kết nối từ xa với phiên bản SQL Server Express được lưu trữ trên Máy chủ Azure ảo
- Create a TCP endpoint for the virtual machine
- Open TCP ports in the Windows firewall
- Configure SQL Server to listen on the TCP protocol
- Configure SQL Server for mixed mode authentication
- Create SQL Server authentication logins
- Determine the DNS name of the virtual machine
- Connect to the Database Engine from another computer
Sau bước Bảy tôi nhận được lỗi sau:
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: 53)
Tôi cần làm gì khác để cấu hình trước khi kết nối từ xa?
Khắc phục sự cố
Tôi đã làm theo hướng dẫn khắc phục sự cố here. Mỗi blockquote dưới đây là một bước mô tả rằng liên kết đó.
Confirm the instance of the SQL Server Database Engine is installed and running.
Xong. Chúng tôi đã cài đặt SQL Server Express và nó đang chạy dưới dạng một phiên bản có tên SQLEXPRESS.
If you are attempting to connect to a named instance, make sure the SQL Server Browser service is running.
Xong. Chúng tôi đã làm theo các bước here để bật dịch vụ Trình duyệt SQL Server.
Get the IP Address of the computer.
Xong. Chúng ta sẽ sử dụng chúng sau này để kiểm tra kết nối và có thể thiết lập một cổng tĩnh cho SQLEXPRESS.
10.241.62.155
fe80 :: 45C: 8c29: e19f: f78b% 15
Get the TCP port number used by SQL Server.
Xong. Nhật ký máy chủ SQL Server Management Studio cho thấy máy chủ đang nghe trên cổng 49169.
Enable Protocols
Xong. Chúng tôi đã kích hoạt TCP/IP trong trình quản lý cấu hình, nhưng chúng tôi đã khởi động lại dịch vụ SQL Server chỉ trong trường hợp.
Testing TCP/IP Connectivity
Xong. Chúng tôi sử dụng tcping.exe để kiểm tra kết nối (cmd ping không hoạt động một cách nhanh chóng với Azure.) Chúng tôi đã có thể kết nối với cổng 80.
- tcping.exe buddha.cloudapp.net> thành công
- phật tcping.exe .cloudapp.net 80> thành công
Testing a Local Connection
Xong. Chúng tôi đã sử dụng sqlcmd.exe từ dấu nhắc lệnh và có thể kết nối cục bộ qua TCP bằng tên người dùng và mật khẩu.
- sqlcmd -S Phật \ SQLEXPRESS (thành công thông qua giao thức chia sẻ bộ nhớ)
- sqlcmd -S tcp: Phật \ SQLEXPRESS (thành công qua TCP)
- sqlcmd -S tcp: Phật \ SQLEXPRESS -U sa - P (thành công qua TCP với tên người dùng)
- sqlcmd -S tcp: 10.241.62.155 \ SQLEXPRESS -U sa -P (thành công với chỉ IP nội bộ)
Opening a Port in the Firewall
chúng tôi mở cổng mà chúng tôi SQL EXPRESS lắng nghe. Các nhật ký máy chủ (ở trên) cho thấy SQLEXPRESS đang lắng nghe trên cổng 49169, nhưng đây chỉ là một trong nhiều cổng động và chúng tôi muốn thiết lập cổng tĩnh 1435.
- Sử dụng WF.msc để tạo một thư đến quy tắc TCP cho cổng 1435.
- Sử dụng Quản lý Azure Portal để tạo ra một thiết bị đầu cuối TCP cho cổng 1435.
hướng dẫn Các xử lý sự cố cũng nói:
If you are connecting to a named instance or a port other than TCP port 1433, you must also open the UDP port 1434 for the SQL Server Browser service.
Kể từ w e đang kết nối SQLEXPRESS (một cá thể có tên), chúng ta cần mở cổng 1434 cho UDP.
- Sử dụng wf.msc để tạo ra một inbound UCP quy tắc cho cổng 1434.
- Sử dụng Quản lý Azure Portal để tạo ra một UDP endpoint cho cổng 1434
Nghiên cứu sâu hơn về kết nối với trường hợp được đặt tên cho thấy các vấn đề cổng động. Lý do tại sao chúng tôi đang sử dụng cổng 1435 (tĩnh) thay vì cổng 49169 (một trong nhiều tùy chọn hiệu quả.)
Instances of SQL Server Express, SQL Server Compact, and named instances of the Database Engine use dynamic ports. To configure these instances to use a specific port, see Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager). and here .
Xong. Chúng tôi đã đi đến SQL Configuration Manager> Cấu hình mạng SQL Server> Giao thức cho SQLEXPRESS> TCP/IP, chúng tôi đã làm như sau.
Tab giao thức> Nghe tất cả> KHÔNG.
IP Addresses Tab> cho mỗi địa chỉ được liệt kê
- Enabled> Có
- TCP cổng động> Trống (xóa zero) TCP Port
- > 1435 (hoặc lựa chọn của bạn)
Sau khi khởi động lại dịch vụ SQLEXPRESS, chúng tôi lại tìm trong nhật ký SQL Server Management Studio và thấy rằng Máy chủ đang nghe trên cổng 1435 !!! Hoan hô!
Testing the Connection
Xong. Chúng tôi đã mở SQL Server Management Studio trên máy tính cục bộ (không phải Azure) của chúng tôi và được kết nối.
- buddha.cloudapp.net, 1435 OR buddha.cloudapp.\ SQLEXPRESS ròng
- sa
- mật khẩu
thành công.
Thật đáng kinh ngạc khi liệt kê tất cả các bước và nỗ lực. –
Bạn vừa mới cứu tôi rất nhiều thời gian! Chìa khóa cho tôi là cuối cùng: Tab giao thức> Nghe tất cả> KHÔNG. Tôi không phải thay đổi IP từ năm 1433, nhưng tôi đã xóa 0 từ Cổng động để có biện pháp tốt. Tôi cho rằng các vấn đề của tôi bắt nguồn từ tất cả các giao thức được liệt kê khác đang lắng nghe. Làm tốt lắm! – hiro77