สวัสดีคับ วันนี้ผมมี script ที่ใช้สำหรับเวลาที่เราต้องการที่จะโอนกรรมสิทธ์ความเป็นเจ้าของตารางซึ่งได้สร้างไว้แล้ว ให้ไปเป็นของคนอื่นเรามีวิธีการดังนี้นะครับ
สำหรับ 2005 ขึ้นไป
SELECT 'EXEC sp_changeobjectowner ''oldowner.' + [name] + ''', ''newowner'' '
FROM sys.tables
WHERE type_desc = 'USER_TABLE'
ORDER BY [name]
สำหรับ 2000 ขึ้นไป
SELECT 'EXEC sp_changeobjectowner ''oldowner.' + [name] + ''', ''newowner'' '
FROM sysobjects
WHERE xtype = 'U'
ORDER BY [name]
คำสั่งข้างบนนี้จะได้ผลลัพธ์เป็นข้อมูลคำสั่งหนึ่งบรรทัดต่อหนึ่งตารางโดยสามารถนำไปรันได้เลยนะครับ
ซึ่งจริงๆแล้วคำสั่งที่ใช้นี้ก็คือ sp_changeobjectowner oldowner, newowner แต่จะสามารถทำได้ที่ละตารางดังนั้นก็เลยทำให้เกิดคำสั่งด้านบนมา
เพื่อที่จะให้สามารถแสดงคำสั่งที่จัดการกับตารางทั้งหมดได้ในครั้งเดียวนะครับ
ลองเอาไปใช้ดูนะครับ