ฐานข้อมูลowner
เป็นบิตของการย้อนเวลากลับไปก่อนที่สคีมา (เหมาะสม) ถูกนำมาใช้ใน SQL Sever 2005
โดยทั่วไปฐานข้อมูลการใช้เป็นค่าเริ่มต้นdbo
(เจ้าของฐานข้อมูล) ของฐานข้อมูลกับฐานข้อมูลของตัวเองเป็นวัตถุฐานข้อมูล
จากเอกสารSQL Server 2000 ...
dbo
เป็นผู้ใช้ที่มีนัยสิทธิ์ในการดำเนินกิจกรรมทั้งหมดในฐานข้อมูล
ใน SQL Server รุ่นก่อนหน้าเมื่อสคีมาไม่สามารถ "เป็นเจ้าของ" วัตถุ ( หรือค่อนข้างควรระบุว่าวัตถุทั้งหมดตารางมุมมอง ฯลฯ เป็นเจ้าของโดยdbo
และไม่มีสคีมาอื่น ๆ ) จำเป็นสำหรับ "ผู้ใช้" เพื่อเป็นเจ้าของ ... ควรดำเนินการต่อโดยไม่บอกสาเหตุที่บางสิ่งจำเป็นต้องมีฐานข้อมูล (หรือการอนุญาตโดยทั่วไปจะค่อนข้างยาก)
ดังนั้นในทางเทคนิคใน SQL Server รุ่นเก่ากว่า (หรือฐานข้อมูลที่อัปเกรดแล้ว) ไม่ใช่ตาราง "Foo" มันเป็นตาราง "dbo.Foo" ... ด้วยการdbo
เป็นเจ้าของ
ด้วยการกำเนิดของ SQL Server 2005 คุณสามารถมีวัตถุฐานข้อมูล schema ที่เป็นเจ้าของเช่นว่าคุณมี schema ชื่อ "bar" และตารางชื่อ "Foo" ... สิ่งนี้จะกลายbar.Foo
เป็นใน ...
SELECT * FROM bar.Foo WHERE etc = 'blah`;
ส่วนที่ยุ่งยากนั้นมาพร้อมกับความจริงที่ว่าผู้ใช้สร้างฐานข้อมูลนั้นถูกตั้งค่าโดยอัตโนมัติในฐานะเจ้าของซึ่งจะนำไปสู่ปัญหาเกี่ยวกับการเปลี่ยนพนักงาน ฯลฯ
ดังนั้นจึงเป็นการดีที่สุดที่จะเปลี่ยนเป็นsa
บัญชีหรือบางที (จากประสบการณ์ของฉัน) เป็นบัญชีโดเมนที่สามารถจัดการโดยทีมงาน / IT ขององค์กร
บทความนี้แสดงให้เห็นถึงความแตกต่างระหว่างวิธีการทำสิ่งเก่า ๆ กับ "เจ้าของ" และระบบการเป็นเจ้าของแบบ "สคีมา" ที่ใหม่กว่า
เพื่อให้เข้าใจถึงความแตกต่างระหว่างเจ้าของและสคีมาใช้เวลาทบทวนการเป็นเจ้าของวัตถุ เมื่อวัตถุถูกสร้างขึ้นใน SQL Server 2000 หรือรุ่นก่อนหน้าวัตถุจะต้องมีเจ้าของ ส่วนใหญ่เจ้าของจะเป็น "dbo" หรือที่รู้จักกันว่าเป็นเจ้าของฐานข้อมูล