2009-03-10 39 views
24

Tôi đang chạy cơ sở dữ liệu SQL Server 2005 từ Ứng dụng VB 6. Tôi kết nối với cơ sở dữ liệu thông qua DSN ODBC.Máy chủ SQL không được định cấu hình để truy cập dữ liệu

Tôi đã đổi tên máy tính mà trên đó tôi đang chạy phiên bản mặc định của máy chủ SQL từ 'Phần mềm' sang 'CNTT'. Sau đó, tôi chạy các thủ tục được lưu trữ sp_dropserversp_addserver để đổi tên phiên bản.

Khi khởi động lại dịch vụ SQL Server, máy chủ có thể nhận tên máy chủ SQL mới.

Sau khi định cấu hình tên nguồn dữ liệu ODBC thành tên mới, kết nối là Ok. Tôi có thể chạy ứng dụng của mình và đọc các bản ghi thông qua các bộ hồ sơ ADO. Tuy nhiên, tôi không thể cập nhật bất kỳ bản ghi nào bằng cách sử dụng phương thức .Update. Tôi nhận được lỗi sau thay vào đó ... SQL Server not configured for data access

Làm cách nào để có thể bật truy cập dữ liệu trên cá thể máy chủ được đổi tên?

Trả lời

38

How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server 2005

Bạn sẽ có thể chạy nhưng không chống lại bất kỳ máy chủ được liên kết. Nó không phải là một máy chủ được liên kết. Đó là địa phương.

EXEC sp_serveroption 'YourServer', 'DATA ACCESS', TRUE 
+0

Có làm điều này tiếp xúc với máy chủ SQL injection hay khác Vân đê bảo mật? – Fandango68

+1

không hoạt động nếu thủ tục lưu trữ của bạn sử dụng sql động –

3

Bài đăng này khá cũ, nhưng có thể ai đó sẽ bắt gặp nó. Tôi đã viết một blog post về tùy chọn này, nó có thể được đặt trên máy chủ cục bộ và được liên kết.

1

với chủ sử dụng này

sp_serveroption 'tên máy chủ' exec, 'truy cập dữ liệu', 'true'

đi

liên kết các máy chủ genereated để nhân rộng vẫn hiển thị cùng một lỗi

1

tôi chỉ muốn thêm vào các câu trả lời trước đó, ít nhất là trong trường hợp của tôi ở đây, tôi cần cho phép truy cập dữ liệu ở cả hai nơi.

ví dụ:

có máy chủ A và máy chủ B

Mở máy chủ A Tôi có một LB máy chủ liên kết liên kết tôi từ máy chủ A đến máy chủ B

tôi cần phải thực hiện sau:

- trên máy chủ Một

exec sp_serveroption 'LB', 'data access', 'true' 

- trên máy chủ B

exec sp_serveroption 'B', 'data access', 'true' 
2

Tôi vừa mới đi qua lỗi này và thấy rằng nó được gây ra bởi tôi cố gắng chạy OpenQuery chống lại các máy chủ địa phương (doh!). Thay đổi tên máy chủ thành tên máy chủ được liên kết thực sự đã giải quyết được sự cố của tôi.

0

Chỉ cần vào các thuộc tính máy chủ liên kết> Tùy chọn Server> truy cập dữ liệu -> đúng

Hoạt động trên SQL Server 2014.

Trân

+0

"Thrue" có phải là "true" không? Có lẽ chỉnh sửa câu trả lời của ai đó? – condiosluzverde

Các vấn đề liên quan