10-12-13, 11:33 AM
File table in SQL Server 2012
السلام عليكم ورحمة الله وبركاتة موضوعنا اليوم يتكلم عن ال File Table وماهي هذة الميزة القادمة الينا مع الSQL 2012
ال File table هو اخاصية حفظ الملفات الى جانب الملفات الخاصة بقاعدة البيانات مما يتيح الينا سهولة التعامل معها ولاتؤثر على كبر حجم قاعة البيانات والوقت المستغرف في عملية اخذ ال Backup حيث لدينا امكانية ال backup على شكل ملفات منفصلة وهو تعتبر الاصدار الجديد او المكمل من ال FileStreem الذي كان موجود في الاصدارات القديمة في ال SQL Server ان الفائدة الرئيسية لل File table هي ان التطبيقات ال Windows API تستطيع التعامل والوصول الى الملفات بسولة تمامة كما تمكن المستخدم من التعامل مع الملفات كما سنرى من خلال الامثلة والشرح
كما يمكن التعامل مع الملفات عن طريق لغة ال TSQL
لندخل في صلب الموضوع وتوظح الطريقة العملية لذالك الخطوة الاولى هو ان يتنصيب ال File Stream كما في الخطوات التالية
نذهب ال SQl Server Configuration Tools الى ال Server الذي نريد ان ننصب في ال FileStreem
نتبع الصورة التالية
ثم نقوم بعملية ال restart لل Server
نقوم بتفعيل ال File Stream الموجود في ال SQL Server عن طريق الكود التالي
اما الان سوف اقوم بخلق ملف في البارتشن D على سبيل المثال من خلال TSQL ومن الممكن خلقة بشكل يدوي لايؤثر
الان سوف اقوم بخلق قاعدة بيانات تحوي File Group من نوع File Stream
لنشاهد الان الجدول المنشء
لان نقوم بوضع بياناتنا اما بطريقة ال Copy & past عن طريق right Click على الجدول ومن ثم الضغط على ال Explorer ومن ثم وضع الملفات التي تريد حفظها فيه
وشاهد النتائج من خلال استخدام ال ال Select للجدول
ويمكننا ان نضع الملفات داخل الفولدر هذا عن طريق ال TSQL
كما في الكود التالي
اتمنى ان يكون الشرح واضح دعواتكم اذا امكن اخواني الكرام
السلام عليكم ورحمة الله وبركاتة موضوعنا اليوم يتكلم عن ال File Table وماهي هذة الميزة القادمة الينا مع الSQL 2012
ال File table هو اخاصية حفظ الملفات الى جانب الملفات الخاصة بقاعدة البيانات مما يتيح الينا سهولة التعامل معها ولاتؤثر على كبر حجم قاعة البيانات والوقت المستغرف في عملية اخذ ال Backup حيث لدينا امكانية ال backup على شكل ملفات منفصلة وهو تعتبر الاصدار الجديد او المكمل من ال FileStreem الذي كان موجود في الاصدارات القديمة في ال SQL Server ان الفائدة الرئيسية لل File table هي ان التطبيقات ال Windows API تستطيع التعامل والوصول الى الملفات بسولة تمامة كما تمكن المستخدم من التعامل مع الملفات كما سنرى من خلال الامثلة والشرح
كما يمكن التعامل مع الملفات عن طريق لغة ال TSQL
لندخل في صلب الموضوع وتوظح الطريقة العملية لذالك الخطوة الاولى هو ان يتنصيب ال File Stream كما في الخطوات التالية
نذهب ال SQl Server Configuration Tools الى ال Server الذي نريد ان ننصب في ال FileStreem
نتبع الصورة التالية
ثم نقوم بعملية ال restart لل Server
نقوم بتفعيل ال File Stream الموجود في ال SQL Server عن طريق الكود التالي
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
GO
RECONFIGURE
GO
اما الان سوف اقوم بخلق ملف في البارتشن D على سبيل المثال من خلال TSQL ومن الممكن خلقة بشكل يدوي لايؤثر
EXEC sp_configure ‘show advanced options’, 1
GO
RECONFIGURE
GO
– قبلو تنفيذ ايعاز ال XP_CMDshell.
EXEC sp_configure ‘xp_cmdshell’, 1
GO
RECONFIGURE
GO
Exec Xp_cmdshell ‘if not Exist D:\FileTable MkDir D:\FileTable’;
GO
RECONFIGURE
GO
– قبلو تنفيذ ايعاز ال XP_CMDshell.
EXEC sp_configure ‘xp_cmdshell’, 1
GO
RECONFIGURE
GO
Exec Xp_cmdshell ‘if not Exist D:\FileTable MkDir D:\FileTable’;
الان سوف اقوم بخلق قاعدة بيانات تحوي File Group من نوع File Stream
CREATE DATABASE FileTableDB
ON PRIMARY
(Name = FileTableDB,
FILENAME = ‘D:\FileTable\FTDB.mdf’),
FILEGROUP FTFG CONTAINS FILESTREAM
(NAME = FileTableFS,
FILENAME=’D:\FileTable\FS’)
LOG ON
(Name = FileTableDBLog,
FILENAME = ‘D:\FileTable\FTDBLog.ldf’)
WITH FILESTREAM (NON_TRANSACTED_ACCESS = FULL,
DIRECTORY_NAME = N’FileTableDB’);
GO
ألان نقوم بخلق ال File table في قاعدة البيانات الخاصة بناON PRIMARY
(Name = FileTableDB,
FILENAME = ‘D:\FileTable\FTDB.mdf’),
FILEGROUP FTFG CONTAINS FILESTREAM
(NAME = FileTableFS,
FILENAME=’D:\FileTable\FS’)
LOG ON
(Name = FileTableDBLog,
FILENAME = ‘D:\FileTable\FTDBLog.ldf’)
WITH FILESTREAM (NON_TRANSACTED_ACCESS = FULL,
DIRECTORY_NAME = N’FileTableDB’);
GO
USE FileTableDB
GO
CREATE TABLE FileTableTb AS FileTable
WITH
(FileTable_Directory = ‘FileTableTb_Dir’);
GO
GO
CREATE TABLE FileTableTb AS FileTable
WITH
(FileTable_Directory = ‘FileTableTb_Dir’);
GO
لنشاهد الان الجدول المنشء
لان نقوم بوضع بياناتنا اما بطريقة ال Copy & past عن طريق right Click على الجدول ومن ثم الضغط على ال Explorer ومن ثم وضع الملفات التي تريد حفظها فيه
وشاهد النتائج من خلال استخدام ال ال Select للجدول
SELECT *
FROM [FileTableDB].[dbo].[FileTableTb]
FROM [FileTableDB].[dbo].[FileTableTb]
ويمكننا ان نضع الملفات داخل الفولدر هذا عن طريق ال TSQL
كما في الكود التالي
INSERT INTO [dbo].[FileTableTb]
([name],[file_stream])
SELECT
‘SQL_Server_2012_Licensing_Reference_Guide.pdf’, * FROM OPENROWSET(BULK N’d:\SQL_Server_2012_Licensing_Reference_Guide.pdf’, SINGLE_BLOB) AS FileData
GO
([name],[file_stream])
SELECT
‘SQL_Server_2012_Licensing_Reference_Guide.pdf’, * FROM OPENROWSET(BULK N’d:\SQL_Server_2012_Licensing_Reference_Guide.pdf’, SINGLE_BLOB) AS FileData
GO
اتمنى ان يكون الشرح واضح دعواتكم اذا امكن اخواني الكرام
مدونتي
صفحتي على الفيسبوك
MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
صفحتي على الفيسبوك
MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator