Các dòng sau hoạt động:Làm cách nào để đặt lược đồ mặc định của cơ sở dữ liệu trong SQL Server 2005?
SELECT * FROM [myschema].users
Nhưng điều này không:
SELECT * FROM users
Các dòng sau hoạt động:Làm cách nào để đặt lược đồ mặc định của cơ sở dữ liệu trong SQL Server 2005?
SELECT * FROM [myschema].users
Nhưng điều này không:
SELECT * FROM users
Một schema mặc định là người dùng cụ thể:
USE yourDatabase;
ALTER USER [yourUser] WITH DEFAULT_SCHEMA = myschema;
Thông tin thêm về ALTER TABLE cho SQL 2005 có thể giúp bạn là tốt.
Vì đây là người dùng cụ thể, nếu bạn có nhiều người dùng, bạn sẽ cần thực hiện truy vấn này (trên mỗi cơ sở dữ liệu) cho mỗi người dùng có lược đồ mặc định bạn muốn cập nhật.
Điều quan trọng cần lưu ý là:
The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin
fixed server role. All members of the sysadmin fixed server role have a default
schema of dbo.
Bạn có thể sử dụng:
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
Để thiết lập các sơ đồ mặc định cho người dùng.
này không hoạt động. – user960567
chỉ cần chú ý AdamWenger note [here] (http://stackoverflow.com/a/8208124/426315) - 'sysadmin' sẽ luôn có' dbo' làm lược đồ mặc định. – itsho
Kịch bản lệnh của bạn biên dịch thành công nhưng vấn đề vẫn tồn tại – user960567
Tập lệnh sau đây. chọn schema_name() hiển thị dbo – user960567
@ user960567 Tôi đã thử nghiệm điều này và nó đã làm việc cho tôi. (cũng chỉ được thử nghiệm 'schema_name()') Bạn đã cung cấp lược đồ mặc định cho cơ sở dữ liệu chính xác chưa? là người dùng bạn đang cố cập nhật liên kết với thông tin đăng nhập sqlServer? –