با رویه‌های ذخیره شده خود، وب سرویس ایجاد کنید
قابلیت جالبی از SQL Server 2005 به بعد به این محصول اضافه شده است که امکان ایجاد یک وب سرویس بومی را بر اساس رویه‌های ذخیره شده و یا توابع تعریف شده در دیتابیس‌های موجود، فراهم می‌سازد. این قابلیت نیازی به IIS یا هر هاست دیگری برای اجرا ندارد و توسط خود اس کیوال سرور راه اندازی و مدیریت می‌شود.توضیحات مفصل آن‌‌را در MSDN می‌توانید ملاحظه کنید و در اینجا یک مثال عملی از آن را با هم مرور خواهیم کرد:الف) ایجاد یک جدول آزمایشی به همراه تعدادی ...
آشنایی با قابلیت FileStream اس کیوال سرور 2008 - قسمت سوم
در انتهای قسمت قبل، نحوه‌ی ایجاد یک جدول جدید با فیلدی از نوع فایل استریم بررسی شد، حال اگر جدولی از پیش وجود داشت، نحوه‌ی افزودن فیلد ویژه مورد نظر به آن، به صورت زیر است:alter table tbl_files set(filestream_on ='default')goalter table tbl_files add [systemfile] varbinary(max) filestream null , FileId uniqueidentifier not null rowguidcol unique default (newid())go در ادامه جدول tblFiles قسمت قبل را در نظر بگیرید:CREATE TABLE [tblF ...
آشنایی با قابلیت FileStream اس کیوال سرور 2008 - قسمت دوم
در این قسمت نحوه‌ی فعال سازی قابلیت FileStream را بررسی خواهیم کرد و در قسمت بعدی نحوه‌ی دسترسی به آن‌را از طریق برنامه نویسی مرور می‌نمائیم.فعال سازی قابلیت FileStreamهمانند اکثر قابلیت‌های اس کیوال سرور، فعال سازی FileStream نیز حداقل به دو صورت استفاده از GUI و قابلیت‌های management studio میسر است و یا استفاده از دستورات T-SQL (و البته کتابخانه‌ی SMO یا همان محصور کننده‌ی توانایی‌های management studio نیز قابل استفاده است).روش اول) است ...
آشنایی با قابلیت FileStream اس کیوال سرور 2008 - قسمت اول
مطلبی چندی قبل در مورد "ذخیره سازی فایل‌ها در دیتابیس یا استفاده از فایل سیستم متداول؟" منتشر گردید، جهت برشمردن فواید ذخیره سازی فایل‌ها در دیتابیس (+). اما معایب این نوع ذخیره سازی بررسی نشدند:الف) اختصاص یافتن قسمتی از بافر SQL Server به این امر.ب) با توجه به قرار گرفتن داده‌های BLOB‌ در دیتابیس ، transaction log قابل توجهی تولید خواهد شد. (+)ج) بیش از 2GB را نمی‌توان در فیلدهایی از نوع varbinary(max) ذخیره کرد.د) به روز رسانی BLOB ها س ...
FxCop برای SQL Server
حتما با FxCop که برای آنالیز اسمبلی‌های برنامه‌های دات نتی بکار می‌رود آشنایی دارید. شبیه به این مورد به صورت افزونه‌ای برای Visual studio 2008 team system نیز موجود است. فقط کافی است Microsoft® Visual Studio Team System 2008 Database Edition GDR R2 را نصب کرده و یک پروژه دیتابیس جدید را شروع کنید (نوع database wizard که یک دیتابیس کامل را import می‌کند). سپس در برگه build تیک مربوط به code analysis را قرار دهید (شکل 1) و یکبار پروژه را bu ...
Optimize for unknown
مفهومی در SQL Server وجود دارد به نام parameter sniffing که شرح آن به صورت زیر است.ابتدا رویه ذخیره شده زیر را در نظر بگیرید:create procedure test (@pid int)asselect * from Sales.SalesOrderDetailwhere ProductID = @pidاستفاده از کوئری‌های پارامتری یکی از بهترین تمرین‌های کاری با SQL server است؛ از آنجائیکه در این حالت plan تهیه شده مجددا مورد استفاده قرار گرفته، همچنین از SQL injection نیز جلوگیری خواهد کرد، زیرا برای نمونه در مثال فوق تنها ...
به روز رسانی فیلدهای XML در SQL Server
از SQL server 2005 به بعد، پشتیبانی کاملی از XML توسط این محصول صورت می‌گیرد. در ادامه مروری خواهیم داشت بر نحوه‌ی به روز رسانی مقادیر فیلدهایی از نوع XML در SQL Server .در ابتدا جدول موقتی زیر را که شامل یک رکورد از نوع XML است، در نظر بگیرید:DECLARE @tblTest AS TABLE (xmlField XML)INSERT INTO @tblTest ( xmlField )VALUES ( '<Sample> <Node1>Value1</Node1> <Node2>Value2</Node2> <Node ...
ذخیره سازی فایل‌ها در دیتابیس یا استفاده از فایل سیستم متداول؟
اگر به ساز و کار شیرپوینت مایکروسافت دقت کنید، همه چیز را داخل دیتابیس ذخیره می‌کند (از اطلاعات رکوردها گرفته تا فایل‌ها و غیره). حال شاید این سؤال مطرح شود که برای ذخیره سازی فایل‌هایی با تعداد بیش از یک میلیون عدد، استفاده از دیتابیس مناسب است یا فایل سیستم متداول. برای پاسخ به این سؤال باید به نکات ذیل توجه داشت:- هر نوع عملیاتی که بر روی فایل‌ها صورت گیرد، بستن، بازکردن و غیره، نیازمند اعمالی در سطح سیستم عامل است (برای مثال بررسی سطح ...
روش‌هایی برای حذف رکوردهای تکراری
هر برنامه نویسی در طول عمر کاری خود حداقل یکبار با این مساله مواجه خواهد شد: "چگونه یک سری رکورد تکراری موجود را باید حذف کرد؟"ابتدا جدول موقتی زیر را که در آن یک سری رکورد تکراری ثبت شده است در نظر بگیرید:CREATE TABLE #Employee(ID INT,FIRST_NAME NVARCHAR(100),LAST_NAME NVARCHAR(300))INSERT INTO #Employee VALUES ( 1, 'Vahid', 'Nasiri' );INSERT INTO #Employee VALUES ( 2, 'name1', 'lname1' );INSERT INTO #Employee VALUES ( 3, 'nam ...
استفاده از قابلیت Script Data اس کیوال سرور 2008 از طریق برنامه نویسی
همانطور که مطلع هستید قابلیت تهیه عبارات Insert از جداول یک دیتابیس، به صورت استاندارد به management studio 2008 اضافه شده است. برای استفاده از این قابلیت از طریق برنامه نویسی به صورت زیر می‌توان عمل نمود:الف) سه ارجاع را به اسمبلی‌های زیر اضافه نمائید:Microsoft.SqlServer.ConnectionInfoMicrosoft.SqlServer.Management.Sdk.SfcMicrosoft.SqlServer.Smoب) اکنون کدی که عملیات Script Data را با استفاده از قابلیت‌های SMO ارائه می‌دهد به صورت زیر خوا ...