خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


تفاوت تابع ()FILE_IDEX با تابع ()FILE_ID در SQL Server

تفاوت تابع ()FILE_IDEX با تابع ()FILE_ID در SQL Server
در SQL Server ، می توانید از تابع FILE_IDEX برای بازگرداندن ID یک فایل دیتابیس استفاده کنید. برای این منظور کافیست نام منطقی یا logical file name دیتافایل را به این تابع پاس دهید. این نام همان نامی است که در View سیستمی sys.master_files یا sys.database_files در ستون Name درج شده است. این View حاوی ID فایل ها هستند ولی FILE_NAME می تواند شما را از کوئری ها نجات دهد. مشابه همین کار را تابع FILE_ID هم انجام می دهد. هر دو تابع تقریبا یک هدف را دنبال می کنند و اگر این طور است چرا در این خصوص دو تابع معرفی شده است؟

سیستم یکپارچۀ سازمانی راهکار
به نظر می رسد FILE_IDEX جایگزینی برای FILE_ID است و از طیف وسیعی از ID های فایل پشتیبانی می کند. مایکروسافت اکنون استفاده از FILE_ID را توصیه نمی کند ، زیرا برای maintenance mode است و ممکن است در نسخه یا نسخه های بعدی SQL Server تابع FILE_ID حذف شود.


بنابراین اگر به دنبال پاسخی سریع هستید که از کدام یک از این دو تابع استفاده کنید ، از FILE_IDEX استفاده کنید و اگر به تفاوت این دو تابع علاقه مند هستید ، ادامه مطلب را بخوانید.
تفاوت بین FILE_IDEX و FILE_ID در انواع مقدار برگشتی آنها است. FILE_IDEX مقدا INT و FILE_ID مقدار smallint برمیگرداند. این واقعیت که FILE_IDEX یک عدد صحیح را برمی گرداند به این معنی است که می تواند ID های فایل های بزرگتر را مدیریت کند.

مثال زیر گواه محدودیت های FILE_ID نسبت به FILE_IDEX است:

USE WideWorldImportersDW;
SELECT
FILE_IDEX('WWIDW_InMemory_Data_1') AS [FILE_IDEX()],
FILE_ID('WWIDW_InMemory_Data_1') AS [FILE_ID()];

+---------------+-------------+
| FILE_IDEX() | FILE_ID() |
|---------------+-------------|
| 65537 | NULL |
+---------------+-------------+

حداکثر مقدار smallint برابر 32767 بوده و در این مثال file ID از آن فراتر می رود و از این رو همانطور که مشاهده می کنید، FILE_ID مقدار Null را در خروجی نمایش می دهد.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز