FILESTREAM অভ্যন্তরীণ তথ্যের সন্ধানে


14

মাইক্রোসফ্ট এসকিউএল সার্ভার ২০১২ এ যখন ফাইলস্ট্রেম বৈশিষ্ট্যটি সক্রিয় করা হবে তখন এসকিউএল সার্ভার সিস্টেমে একটি "লুকানো" ভাগ তৈরি করবে। শেয়ারটি নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা হয়েছে:

Sharename          FILESTREAM_SHARE
Path               \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE
Remark             SQL Server FILESTREAM share
Maximum users      unlimited
Users Caching      Manual caching of documents 
Permissions        NT-AUTHORITY\Authenticated Users, FULL

শুরুতে এসকিউএল সার্ভার কনফিগারেশন ম্যানেজারে ফাইলস্ট্রেম কনফিগার করার সময় নামটি ভাগ করা তার নাম । তবে এটা কিসের জন্য?

যতদূর

আমি এখানে থেকে উপলব্ধ সমস্ত ফাইলস্ট্রেম ডকুমেন্টেশনটি পড়েছি:

... তবে শেয়ারটি এবং এটি কী করে বা এটি কী কী তা সম্পর্কে কোনও উল্লেখ নেই was আপনি নামটি প্রবেশ করান এবং এসকিউএল সার্ভার ভাগটি নীচের অংশে তৈরি করবে।

FILESTREAM- সক্ষম ডাটাবেস

আপনি যখন একটি ফাইলস্ট্রিআম-সক্ষম সক্ষম ডাটাবেস তৈরি করেন, ডাটাবেসটি একটি ফাইলগোষ্ঠীর উল্লেখ করে যা কোনও ডিরেক্টরিকে (একটি পৃথক ড্রাইভের প্রস্তাবিত) উল্লেখ করে যা ভাগের সাথে একেবারে কিছুই করার থাকে না, যা প্রাথমিকভাবে ফাইলস্ট্রেম কনফিগারেশনের সময় তৈরি করা হয়েছিল।

স্ক্রিনশট FILESTREAM- সক্ষম ডাটাবেস স্ক্রিপ্ট

FILESTREAM- সক্ষম ডাটাবেস তৈরির স্ক্রিপ্ট হ্যাঁ, আমি বুঝতে পারি যে সমস্ত পথ সি :; এটা ঠিক একটি উদাহরণ

পল র্যান্ডাল এট-এর সাদা কাগজ। যে ব্যাখ্যা করতে চলেছে ...

ফাইলস্ট্রেম ডেটা ফাইল সিস্টেমে এনটিএফএস ডিরেক্টরিগুলির একটি ডেটা কনটেইনার নামে একটি ডিরেক্টরিতে সংরক্ষণ করা হয়, যা ডাটাবেসে বিশেষ ফাইলগ্রুপগুলির সাথে সম্পর্কিত। FILESTREAM ডেটাতে লেনদেনের অ্যাক্সেস এসকিউএল সার্ভার এবং একটি ফাইল সিস্টেম ফিল্টার ড্রাইভার দ্বারা নিয়ন্ত্রিত হয় যা উইন্ডোজ স্তরে FILESTREAM সক্ষম করার অংশ হিসাবে ইনস্টল করা হয়। একটি ফাইল সিস্টেম ফিল্টার ড্রাইভারের ব্যবহার ইউএনসি পাথের মাধ্যমে FILESTREAM ডেটাতে দূরবর্তী অ্যাক্সেসের অনুমতি দেয়। এসকিউএল সার্ভার তাদের সাথে সম্পর্কিত FILESTREAM ফাইলগুলিতে সারণির সারি থেকে প্রকারের একটি লিঙ্ক বজায় রাখে। এর অর্থ হ'ল সরাসরি ফাইল সিস্টেমের মাধ্যমে কোনও ফাইল ফাইল মুছে ফেলা বা নাম পরিবর্তন করার ফলে ডাটাবেস দুর্নীতি দেখা দেয়।

... ডকুমেন্টটি আরও নীচে (14 পৃষ্ঠা) তারা চালিয়েছে ...

প্রতিটি এনটিএফএস ভলিউমের জন্য একটি একক ফাইলসেট্রেম ফাইল সিস্টেম ফিল্টার ড্রাইভার রয়েছে যার একটি ফাইলস্ট্রেম ডেটা ধারক রয়েছে এবং এসকিউএল সার্ভারের প্রতিটি সংস্করণের জন্য একটিতে ভলিউমের একটি ফাইলস্ট্রেম ডেটা ধারক রয়েছে। প্রতিটি ফিল্টার ড্রাইভার এসকিউএল সার্ভারের একটি নির্দিষ্ট সংস্করণ ব্যবহার করে এমন সমস্ত দৃষ্টান্তের জন্য, সেই ভলিউমের জন্য সমস্ত ফাইলস্ট্রেম ডেটা ধারক পরিচালনার জন্য দায়বদ্ধ।

উদাহরণস্বরূপ, একটি এনটিএফএস ভলিউম যা তিনটি ফাইলেস্ট্রিয়াম ডেটা কন্টেইনার হোস্ট করছে, তিনটি এসকিউএল সার্ভার ২০০৮ এর প্রতিটি জন্য একটির জন্য কেবল একটি এসকিউএল সার্ভার ২০০৮ ফাইলস্ট্রেম ফাইল সিস্টেম ফিল্টার ড্রাইভার থাকবে।

প্রশ্নাবলি

  1. এটি জানতে পেরে এসকিউএল সার্ভারে সবকিছু সুন্দর এবং বাঁধা আছে, তবে সেই ভাগটি আসলে কী করে? এটি কি তথাকথিত "ফাইল সিস্টেম ফিল্টার ড্রাইভার"?
  2. কোনও প্রমাণীকৃত ব্যবহারকারী হিসাবে "ভাগ" অ্যাক্সেস করতে পারে তা দেখে সুরক্ষা সম্পর্কিত কী কী প্রভাব পড়বে?
  3. ডিভাইসটি কি উইন্ডোজ সার্ভার ২০১২-এর সাথে চালু হওয়া রিসিলেন্ট ফাইল সিস্টেম ফর্ম্যাটটির পূর্বসূরী?

আপনি যদি আমার প্রশ্নের উত্তর সরবরাহ করতে পারেন তবে আপনি উত্সের রেফারেন্স সরবরাহ করতে পারলে ভাল লাগবে।

উত্তর:


5

মাইক্রোসফ্ট এসকিউএল সার্ভার ২০১২ এ যখন ফাইলস্ট্রেম বৈশিষ্ট্যটি সক্রিয় করা হবে তখন এসকিউএল সার্ভার সিস্টেমে একটি "লুকানো" ভাগ তৈরি করবে।

এটি ডিফল্টরূপে এটি করে না, ভাগ সক্ষম করতে আপনাকে বেছে নিতে হবে। এটি এসকিউএল সার্ভার কনফিগারেশন ম্যানেজারের মাধ্যমে করা হয়। আপনি যদি নির্বাচনটি নির্বাচন মুক্ত করেন Enable FILESTREAM for file I/O accessতবে ভাগটি সরানো হবে।

এখানে চিত্র বর্ণনা লিখুন

  1. এটি জানতে পেরে এসকিউএল সার্ভারে সবকিছু সুন্দর এবং বাঁধা আছে, তবে সেই ভাগটি আসলে কী করে?

শেয়ারটি ক্লায়েন্টদের (স্থানীয় এবং দূরবর্তী) ফাইল স্ট্রিম ডেটা অ্যাক্সেসের জন্য স্ট্রিমিং উইন্ডোজ এপিআই ব্যবহার করার জন্য একক একক ভাগ করা অবস্থানের অনুমতি দেয়। এটি ফাইল স্ট্রিম অ্যাক্সেসের জন্য এসকিউএল সার্ভার ইনস্ট্যান্স স্তরের সেটিংসের সাথে একত্রে কাজ করে Full Access Enabled, অন্য কোনও অ্যাক্সেস সেটিং স্ট্রিমিং এপিআইয়ের সাথে কাজ করা উচিত নয়।

এখানে চিত্র বর্ণনা লিখুন

  1. ... এটি কি তথাকথিত "ফাইল সিস্টেম ফিল্টার ড্রাইভার"?

না এটা না. এটি কেবল একটি ফাইল ভাগ।

আমি জলে কাদা না দেওয়ার চেষ্টা করছিলাম তবে আপনি যতটা সম্ভব তথ্য চেয়েছিলেন। উপরের স্ট্রাইকথ্রু পাঠ্যে আমি আসলে বলেছিলাম যে এটি ফিল্টার ড্রাইভার ছিল না। তবে প্রযুক্তিগতভাবে এটি একটি অর্ধ সত্য। হ্যাঁ, এটি একটি ভাগ করা ফোল্ডার তবে এটি আসলে ফিল্টার ড্রাইভারের মাধ্যমে ভাগ করে। আমি সত্যিই এটি নিয়ে বিতর্ক করেছি কারণ এটি একটি খরগোশের গর্ত হয়ে উঠতে শুরু করে যা আপনি সোর্স কোড ব্যতীত সত্যই নীচে নামতে পারবেন না (এবং সত্যই বলতে গেলে এটি আমার মতে একাডেমিক ব্যতীত অন্য কোন মূল্য নয়)।

ফিল্টার ড্রাইভারের পুরো পয়েন্টটি কয়েকটি কাজ করতে হয় তবে এইগুলির মধ্যে একটি হ'ল বিভিন্ন প্রকারের ইন্টারফেসের মাধ্যমে ফাইল স্ট্রিম টার্গেটে সঞ্চিত ডেটাতে লেনদেনের অ্যাক্সেস দেওয়া; এসকিউএল সার্ভার, লেনদেন এসকিউএল, উইন্ডোজ এপিআই। এটি মুষ্টিমেয় অন্যান্য আইটেমগুলিও করে - তবে ভাগ করে দেওয়া অ্যাক্সেস ফিল্টার ড্রাইভারের মাধ্যমে করা হয়। প্রকৃতপক্ষে, আপনি যদি কোনও ফাইল প্রবাহে ফাইলগুলি অ্যাক্সেস করার চেষ্টা করেন এবং প্রশাসক বা এসকিউএল সার্ভার না হন তবে আপনার সেগুলি অ্যাক্সেস করতে সক্ষম হবেন না।

তাই, হ্যাঁ এই উভয় হয় এবং নয় ফিল্টার ড্রাইভার। এটি অর্ধেক উইন্ডোজ ফাইলের শেয়ার যা ফিল্টার ড্রাইভারের মাধ্যমে উদ্ভাসিত হয়। আপনি দেখতে পাচ্ছেন এটিই আপনি ভাগের পথের সম্পত্তিটি দেখছেন।

get-wmiobject -class Win32_share | where {$_.Description -like 'SQL Server*'} | ft name, path -autosize

২. কোনও প্রমাণীকৃত ব্যবহারকারী হিসাবে দেখা "ভাগ" অ্যাক্সেস করতে পারে তবে সুরক্ষাটির কী কী প্রভাব পড়বে?

আপনি অনুমতিগুলি পরিবর্তন করতে পারেন এবং সেটিংসটি সঠিকভাবে সেট করা দরকার। সুরক্ষা সম্পর্কিত প্রভাবগুলি অন্য কোনও ফাইল ভাগের।

৩. ডিভাইসটি কি উইন্ডোজ সার্ভার ২০১২-এর সাথে চালু করা রিসিলেন্ট ফাইল সিস্টেম ফর্ম্যাটটির পূর্বসূরীর জন্য FF002020?

না, এটি ফিল্টার ড্রাইভারের একটি নির্দিষ্ট সংস্করণের নাম। উদাহরণস্বরূপ, এখানে একটি 2016 লোড হওয়া সিস্টেম রয়েছে RsFx0410। রেফার্স একটি ফাইল সিস্টেম, এটি একটি ফিল্টার ড্রাইভার যা ফাইল সিস্টেম এবং মিনিপোর্ট ড্রাইভারের মধ্যে বসে। এটি আসলে বেশ বিচলিত যে এটি একটি উত্তরাধিকারী ফিল্টার ড্রাইভার যা উচ্চতার শেষে .10 দ্বারা বর্ণিত ... এইচএমএম। আপনি দেখতে পাবেন এটির বেশ কম উচ্চতা রয়েছে , যা তৃতীয় পক্ষের ফিল্টার ড্রাইভারদের জন্য সাধারণত গ্রহণযোগ্য নয়।

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি আমার প্রশ্নের উত্তর সরবরাহ করতে পারেন তবে আপনি উত্সের রেফারেন্স সরবরাহ করতে পারলে ভাল লাগবে।

এর জন্য আমার কাছে কোনও উত্স নেই তবে স্ক্রিনশট এবং কনফিগারেশন বিকল্পগুলির মাধ্যমে সেটিংস পরিবর্তন করার মাধ্যমে আমার তথ্যের ব্যাক আপ রেখেছি। এই উত্তরের প্রতিটি জিনিস নিজেই পণ্যটি দেখে এবং জানাগুলির টুকরোগুলি কীভাবে কাজ করে তা জানতে (উদাহরণস্বরূপ: ফিল্টার ড্রাইভার) by


1, 2 এবং 3 এর উত্তরের জন্য ধন্যবাদ আমি বিশেষত ফিল্টার ড্রাইভার সম্পর্কে আপনার ব্যাখ্যাটির প্রশংসা করি। শুরুতে আপনার মন্তব্যটি যথাযথভাবে উল্লেখ করা হয়েছে তবে আমি বুঝতে পারি যে আমি কেবল ফাইলস্ট্রেম বিকল্পগুলিতে বিকল্পটি সক্রিয় করলেই ভাগটি তৈরি হবে। আমি FILESTREAM কনফিগারেশন / সেটিংস এবং ইন্টার্নাল স্টাফ সম্পর্কে প্রচুর পরিমাণে ডকুমেন্টেশন পড়েছি।
জন ওরফে হট 2 ইউজ

2

আপনার প্রশ্নগুলিতে আমার গ্রহণযোগ্যতা এখানে:

১. এসকিউএল সার্ভারে সবকিছু সুন্দর এবং জোট বেঁধে রাখা জেনে রাখা ভাল, তবে সেই ভাগটি আসলে কী করে? এটি কি তথাকথিত "ফাইল সিস্টেম ফিল্টার ড্রাইভার"?

এসকিউএল সার্ভার ফাইল স্ট্রিম অ্যাক্সেস সবই, ভাল, ফাইলগুলিতে অ্যাক্সেস। শেয়ারটি একটি ফাইল শেয়ারের মাধ্যমে সেই অবস্থানটি সরবরাহ করে।

আপনি ওপেনস্কুলফাইলে স্ট্রিম ব্যবহার করে কিছু সি # কোড দিয়ে সহজেই এটি দেখতে পারেন

https://docs.microsoft.com/en-us/sql/relational-databases/blob/access-filestream-data-with-opensqlfilestream

যেমন আপনি দেখতে পাচ্ছেন, ক্রিয়েটফিলের জন্য কোনও FILE_SHARE_READ নেই এবং কোনও ফাইল যাদু নেই, ফাইল স্ট্রিম নেই:

try
    {
        if ( (srcHandle = CreateFile(
            srcFilePath,
            GENERIC_READ,
            FILE_SHARE_READ,
            NULL,
            OPEN_EXISTING,
            FILE_FLAG_SEQUENTIAL_SCAN,
            NULL)) == INVALID_HANDLE_VALUE )
            throw szErrMsgSrc;

দ্রষ্টব্য: কেন কোনও স্থানীয় সার্ভার / শেয়ারহীন FILESTREAM বিকল্প নেই - আমার কোনও ধারণা নেই। কিছু লোকের মতো শব্দগুলি সুরক্ষার অতিরিক্ত স্তরটি পছন্দ করতে পারে।

২. কোনও প্রমাণীকৃত ব্যবহারকারী হিসাবে দেখা "ভাগ" অ্যাক্সেস করতে পারে তবে সুরক্ষাটির কী কী প্রভাব পড়বে?

বাহ, দুর্দান্ত প্রশ্ন। এটি উপস্থিত রয়েছে, যে কোনও শংসাপত্রপ্রাপ্ত ব্যবহারকারীর কাছে ভাগ করার অনুমতিগুলি পাওয়া যায়, তবে, এনটিএফএসের অন্তর্নিহিত অনুমতিগুলি সুরক্ষার সাথে জরিমানা করে। তবে, এটি আমার কাছে সুরক্ষা গর্তের মতো মনে হয়। আমাকে আরও তদন্ত করতে হবে এনটিএফএসের অনুমতিগুলি কীভাবে জরিমানা হয়েছে তবে আমি অবশ্যই সাধারণ ফাইল ভাগ করার অনুমতিগুলি পছন্দ করি না। মাইক্রোসফ্টে আসুন, সমস্ত "প্রমাণীকরণকারী ব্যবহারকারী"? সঠিক বা ভুল, আমার মতে মাইক্রোসফ্ট এনটিএফএস অনুমতিগুলির উপর শেয়ার / ফোকাসটিকে উপেক্ষা করে।

"সত্যায়িত ব্যবহারকারী" সরবরাহ বছরের পর বছর ধরে বিতর্কিত বিষয় has "সত্যায়িত ব্যবহারকারী" এর পিছনে এবং সামনে আমি যে সেরা ব্লগটি পড়েছি তা এখানে। এটি উইন্ডোজে এত বেশি ভারে entুকে গেছে আমি তাদের কখনই এটি বৈধ ঝুঁকি বলতে চাইবে না - যতক্ষণ না তাদের নতুন পণ্যটি বের হয়ে আসে যা এটিকে থেকে মুক্তি দেয়।

https://social.technet.microsoft.com/Forums/windowsserver/en-US/bb74fa7c-89bd-476d-88bf-e88cd66618e6/why-is-authenticated-users-in-the-local-users-group-by- ডিফল্ট? ফোরাম = winserversecurity

৩. ডিভাইসটি কি উইন্ডোজ সার্ভার ২০১২-এর সাথে চালু করা রিসিলেন্ট ফাইল সিস্টেম ফর্ম্যাটটির পূর্বসূরীর জন্য FF002020?

ও / এস ভিত্তিক না হয়ে এসকিউএল ভিত্তিক বলে মনে হচ্ছে। RsFx0320.sys এসকিউএল ২০০৮ S

https://support.microsoft.com/en-us/help/2961258/fix-cannot-access-the-data-in-filetable-after-you-upgrade-from-sql-ser

মাইক্রোসফ্ট দেখায় যে আপনি ২০১২ থেকে ২০১৪ পর্যন্ত আপগ্রেড করলে কী ঘটতে পারে:

To work around this issue, change manually the path property of the resource <AvailabilityGroupName>_FSShare to point to the correct driver: From
'\\?\GLOBALROOT\Device\RsFx0201\<localmachine>\{AvailabilityGroupID}' to '\\?\GLOBALROOT\Device\RsFx0300\<localmachine>\{AvailabilityGroupID}'

আমার 2 এবং 3 প্রশ্নের উত্তরের জন্য ধন্যবাদ আমি আপনার উত্তর 1 এর জন্য উপলব্ধি করেছিলাম যে আমি সেই ভাগের মাধ্যমে ডেটা অ্যাক্সেস করতে পারি, তবে আমি কীভাবে, তাই "ফাইলট্রিম ইনসাইডার ইনফরমেশন ইন সন্ধানে" শিরোনামটি নিয়ে ভাবছিলাম ।
জন ওরফে হট 2 ইউজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.