INF: เป็นเจ้าของฐานข้อมูลหว่าง Chaining การเปลี่ยนแปลงลักษณะการทำงานใน SQL Server 2000 Service Pack 3

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 810474 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

Microsoft SQL Server Service Pack 3 (SP3) แสดงใหม่ตัวเลือกการตั้งค่าความเป็นเจ้าของฐานข้อมูลซึ่งกันและกัน chaining ที่เกี่ยวข้องกับการเพิ่มประสิทธิภาพการรักษาความปลอดภัยการเปิดใช้งานการเป็นเจ้าของฐานข้อมูลซึ่งกันและกัน chaining สำหรับฐานข้อมูลทั้งหมดในระหว่างการติดตั้ง บทความนี้กล่าวถึงความเป็นเจ้าของฐานข้อมูลซึ่งกันและกัน chaining ลักษณะการทำงานใน SP3 2000 เซิร์ฟเวอร์ SQL ด้วยอ็อพชันนี้ใหม่ คุณสามารถควบคุมว่าหรือไม่คุณอนุญาต chaining ความเป็นเจ้าของฐานข้อมูลซึ่งกันและกัน โดยค่าเริ่มต้น ตัวเลือกนี้ถูกปิดใช้งาน Microsoft แนะนำให้ คุณใช้ตัวเลือกเริ่มต้น เนื่องจากมันทำเซิร์ฟเวอร์ฐานข้อมูลของคุณให้ปลอดภัยยิ่งขึ้น

ข้อมูลเพิ่มเติม

ความเป็นเจ้าของ Chaining

โดยค่าเริ่มต้น วัตถุฐานข้อมูลทั้งหมดมีเจ้าของ เมื่อวัตถุเช่นมุมมอง กระบวนงานที่เก็บไว้ หรือฟังก์ชันที่กำหนดโดยผู้ใช้อ้างอิงวัตถุอื่น คือสร้างกลุ่มข้อความเป็นเจ้าของ ตัวอย่างเช่น ตารางที่เป็นเจ้าของผู้ใช้เดียวกัน เมื่อผู้ใช้เดียวกันเป็นเจ้าของวัตถุต้นทาง การดู กระบวนงานที่เก็บไว้ หรือฟังก์ชันที่กำหนดโดยผู้ใช้ ทั้งหมดเป้าหมายวัตถุ (underlying ตาราง มุมมอง หรือวัตถุอื่น ๆ), กลุ่มความเป็นเจ้าของเป็น said เป็น unbroken เมื่อเชื่อมต่อความเป็นเจ้าของอยู่ unbroken, SQL Server ตรวจสอบสิทธิ์ บนวัตถุต้นฉบับ แต่ไม่ใช่ บนวัตถุเป้าหมาย

Chaining เป็นเจ้าของฐานข้อมูลหว่าง

ความเป็นเจ้าของฐานข้อมูลหว่าง chaining เกิดเมื่อวัตถุต้นทางขึ้นอยู่กับออปเจ็กต์ในฐานข้อมูลอื่น A cross-database ownership chain works in the same way as ownership chaining in a database, except that an unbroken ownership chain is based on all the object owners being mapped to the same login account. Therefore, in a cross-database ownership chain, if the source object in the source database and the target objects in the target databases are owned by the same login account, SQL Server does not check permissions on the target objects.

If you have more than one database used by an application, and that application calls stored procedures or views in a database that is based on objects in another database, then cross-database ownership chaining is used. Applications that rely on cross-database ownership chaining may generate permission denied errors if cross-database ownership chaining option is turned off.

Risks Associated with Cross-Database Ownership Chaining

Microsoft recommends that you disable the cross-database ownership chaining option because of the actions that highly-privileged users can perform:
  • Database owners and members of thedb_ddladminหรือdb_ownersdatabase roles can create objects that are owned by other users. These objects can potentially target objects in other databases. This means that if you enable cross-database ownership chaining, you must fully trust these users with data in all databases. To identify the members of thedb_ddladminและdb_ownersroles in the current database, execute the following Transact-SQL commands:
    exec sp_helprolemember 'db_ddladmin' exec sp_helprolemember 'db_owner'
  • Users with CREATE DATABASE permission can create new databases and attach existing databases. If cross-database ownership chaining is enabled, these users can access objects in other databases from newly created or attached databases.
Even though Microsoft recommends that you turn off cross-database ownership chaining for maximum security, there are some environments where you can fully trust your highly-privileged users; therefore, you can enable cross database ownership for specific databases to meet the requirements of specific applications.

How to Configure Cross-Database Ownership Chaining During Setup

In Microsoft SQL Server Service Pack 3 (SP3) Setup, a new dialog box has been added to allow the system administrator to control whether or not cross database ownership chaining will be permitted. ถ้าคุณเลือกEnable cross-database ownership chaining for all databasesduring the SQL Server 2000 SP3 setup, you are enabling this option across all databases. This was the default behavior before SQL Server 2000 SP3. Regardless of the option that you select during setup, you can later modify server and database support for cross-database ownership chaining either by using Transact-SQL commands or from SQL Server Enterprise Manager.

How to Configure Cross-Database Ownership Chaining After Installation

To change the cross-database ownership chaining configuration, use the new options in thesp_configureและsp_dboptionstored procedures.

หมายเหตุ:If you detach and then reattach a database, you must re-enable cross-database ownership chaining.
  • Configuring cross-database ownership chaining by using Transact-SQL commands:
    • Configure cross-database ownership chaining support for the instance of SQL Server with the newCross DB Ownership Chainingoption forsp_configure. When this option is set to 0, you can control cross-database ownership chaining at the database level by usingsp_dboption. When this option is set to 1, you cannot restrict cross-database ownership chaining. This is the pre-SQL Server 2000 SP3 behavior. If you change this option, include the RECONFIGURE option to reconfigure the instance without having to restart it. For example, use the following command to allow cross-database ownership chaining in all databases:
      EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
      
    • Configure cross-database ownership chaining at the database level with the newdb chainingoption forsp_dboption. When this option is set to false, the database cannot participate in cross-database ownership chaining as either the source or the target database. When this option is set to true, the database can participate in a cross-database ownership chain. By default, this option is false for all user databases after you apply SQL Server 2000 SP3. The following command enables cross-database ownership chaining for the Northwind database:
      EXEC sp_dboption 'Northwind', 'db chaining', 'true'

    The effects ofsp_dboptionare manifested only when thesp_configureCross DB Ownership Chainingoption is set to 0. Also, to enable cross-database ownership chaining at the database level, you must enable this option on both the source and the target database.
  • Configuring cross-database ownership chaining by using SQL Enterprise Manager:
    • To set this option for all databases, follow these steps:
      1. คลิกขวา<server></server>.
      2. คลิกเพื่อเลือกคุณสมบัติ.
      3. คลิกการรักษาความปลอดภัย.
      4. คลิกเพื่อเลือกAllow cross-database ownership chainingในการOwnership chainingส่วน
      5. คลิกตกลงYou are prompted to stop and restart the SQL Server services.
      6. คลิกตกลง.
    • To enable this option at the database level, follow these steps:
      1. คลิกขวา<database></database>.
      2. คลิกเพื่อเลือกคุณสมบัติ.
      3. คลิกตัวเลือก.
      4. คลิกเพื่อเลือกAllow Cross Database Ownership Chainingในการการตั้งค่าsection

คุณสมบัติ

หมายเลขบทความ (Article ID): 810474 - รีวิวครั้งสุดท้าย: 14 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2000 Service Pack 3
Keywords: 
kbproductlink kbinfo kbsysadmin kbupgrade kbsqlserv2000sp3fea kbmt KB810474 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:810474

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com