Lược đồ mặc định của SQL Server 2008 không được tôn trọng?


9

Chúng tôi vừa sao chép cơ sở dữ liệu SQL 2008 sang máy chủ khác, nhằm mục đích thử nghiệm. Người dùng thông thường đăng nhập sử dụng một số đối tượng trong một lược đồ nhất định. Hãy nói rằng đó là người dùng foovà lược đồ bar.

fooLược đồ mặc định của barcả ở cấp độ thể hiện và cơ sở dữ liệu. Tuy nhiên, khi foođăng nhập, nó không thể tìm thấy bất kỳ đối tượng nào trong barlược đồ mà không sử dụng tên đủ điều kiện.

Tại sao lược đồ mặc định không hoạt động ở đây?

Câu trả lời:


13

Người dùng có quyền sysadmin trên SQL Server không? Bởi vì nếu có thì bất kỳ người dùng sysadmin nào cũng sẽ có dbo lược đồ được gán mặc định , độc lập với những gì được đặt trong thuộc tính của Người dùng cho cơ sở dữ liệu cụ thể.

Vì vậy, để có một lược đồ mặc định, người dùng cần có các vai trò cơ sở dữ liệu như db_owner, db_datawriter, v.v., thay vì sysadmin vai trò máy chủ.

Hãy cho tôi biết nếu đó không phải là trường hợp của bạn.


1
Bạn là một vị thần và tôi cúi đầu trước kiến ​​thức của bạn, tôi đã bối rối cho đến khi tôi va vào điều này!
Jens

1

Một kịch bản khác trong đó vấn đề này có thể xảy ra (SQL 2008 R2) ...

Tôi đã có một người dùng được liên kết với Đăng nhập xác thực SQL, mà tôi đang cố gắng liên kết với một lược đồ hiện có. Đăng nhập không có quyền sysadmin , vì vậy giải pháp trên không giúp được gì.

Cuối cùng tôi đã tìm ra rằng cơ sở dữ liệu vẫn được cấu hình trong chế độ tương thích SQL 2000. Thay đổi thành SQL 2005 đã giải quyết vấn đề.


Thật kỳ lạ, tôi dường như gặp phải vấn đề này (người dùng được liên kết với Đăng nhập xác thực SQL, mà tôi đã cố gắng liên kết với một lược đồ hiện có), ngoại trừ mức độ tương thích của tôi là 'SQL Server 2016 (130)'
xương

0

Nó sẽ giả định rằng lược đồ mặc định trên máy chủ mới là dbo; Nếu lược đồ chưa được sao chép với cơ sở dữ liệu.

Không phải là giải pháp nhưng có lẽ điều này có thể giúp ích, hãy xem bài viết msDN. http://msdn.microsoft.com/en-us/l Library / dd283095.aspx


Chúng tôi đã cấu hình lược đồ mặc định cho foomáy chủ mới. Nó được đặt như bartrên cả người dùng cá thể và cấp độ người dùng cơ sở dữ liệu.
John Cromartie
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.