محتویات سایت
        برچسب های محبوب 








 
   تغییر نام Schema یا Owner یک آبجکت در پایگاه داده
  در این ترفند به معرفی روشی جهت تغییر دادن نام Schema یا Owner یک آبجکت در پایگاه داده توسط اسکریپت می پردازم
   SQL Server
   ۱۷۴۳۶
   این مقاله حاوی فایل ضمیمه نمی باشد
   مرتضی صحراگرد
   ۱۳۸۸/۳/۱۹
نسخه قابل چاپ نسخه قابل چاپ

مدتی پیش احتیاج پیدا کردم که Owner چند روال ذخیره شده ( Stored Procedure ) را تغییر دهم. در این ترفند به معرفی روشی جهت تغییر Owner یک آبجکت در SQL Server می پردازم.

لازم به ذکر می باشد که این آبجکت می تواند یک Table یا View یا Stored Procedure یا User-Defined Function باشد.

در نسخه های SQL Server 2005 و بالاتر توسط دستور زیر می توانید Owner یک آبجکت را تغییر دهید.

ALTER SCHEMA dbo TRANSFER [MyOwner].[uspMyStoredProcedureName]

اسکریپت بالا  Owner روال ذخیره شده  uspMyStoredProcedureName را به dbo  تغییر می دهد.

به جای روال ذخیره شده در روال بالا، شما می توانید نام جدول یا view یا غیره را قرار دهید و  Owner آبجکت مربوطه را تغییر دهید.

تذکر:

برای تغییر Owner  یک آبجکت در SQL Server 2000 می توانید از روش زیر استفاده نمایید. (دقت داشته باشید که شرکت مایکروسافت اکیدا توصیه نموده است که در نسخه های بالاتر از 2000 از روش زیر استفاده نکنید)

EXEC sp_changeobjectowner '[MyOwner].[uspMyStoredProcedureName]','dbo'

عملکرد این اسکریپت دقیقا همانند اسکرپت قبلی می باشد.