قابلیت جالبی از SQL Server 2005 به بعد به این محصول اضافه شده است که امکان ایجاد یک وب سرویس بومی را بر اساس رویههای ذخیره شده و یا توابع تعریف شده در دیتابیسهای موجود، فراهم میسازد. این قابلیت نیازی به IIS یا هر هاست دیگری برای اجرا ندارد و توسط خود اس کیوال سرور راه اندازی و مدیریت میشود.توضیحات مفصل آنرا در MSDN میتوانید ملاحظه کنید و در اینجا یک مثال عملی از آن را با هم مرور خواهیم کرد:الف) ایجاد یک جدول آزمایشی به همراه تعدادی ...
در انتهای قسمت قبل، نحوهی ایجاد یک جدول جدید با فیلدی از نوع فایل استریم بررسی شد، حال اگر جدولی از پیش وجود داشت، نحوهی افزودن فیلد ویژه مورد نظر به آن، به صورت زیر است: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 را بررسی خواهیم کرد و در قسمت بعدی نحوهی دسترسی به آنرا از طریق برنامه نویسی مرور مینمائیم.فعال سازی قابلیت FileStreamهمانند اکثر قابلیتهای اس کیوال سرور، فعال سازی FileStream نیز حداقل به دو صورت استفاده از GUI و قابلیتهای management studio میسر است و یا استفاده از دستورات T-SQL (و البته کتابخانهی SMO یا همان محصور کنندهی تواناییهای management studio نیز قابل استفاده است).روش اول) است ...
مطلبی چندی قبل در مورد "ذخیره سازی فایلها در دیتابیس یا استفاده از فایل سیستم متداول؟" منتشر گردید، جهت برشمردن فواید ذخیره سازی فایلها در دیتابیس (+). اما معایب این نوع ذخیره سازی بررسی نشدند:الف) اختصاص یافتن قسمتی از بافر SQL Server به این امر.ب) با توجه به قرار گرفتن دادههای BLOB در دیتابیس ، transaction log قابل توجهی تولید خواهد شد. (+)ج) بیش از 2GB را نمیتوان در فیلدهایی از نوع varbinary(max) ذخیره کرد.د) به روز رسانی BLOB ها س ...
حتما با FxCop که برای آنالیز اسمبلیهای برنامههای دات نتی بکار میرود آشنایی دارید. شبیه به این مورد به صورت افزونهای برای Visual studio 2008 team system نیز موجود است. فقط کافی است Microsoft® Visual Studio Team System 2008 Database Edition GDR R2 را نصب کرده و یک پروژه دیتابیس جدید را شروع کنید (نوع database wizard که یک دیتابیس کامل را import میکند). سپس در برگه build تیک مربوط به code analysis را قرار دهید (شکل 1) و یکبار پروژه را bu ...
مفهومی در SQL Server وجود دارد به نام parameter sniffing که شرح آن به صورت زیر است.ابتدا رویه ذخیره شده زیر را در نظر بگیرید:create procedure test (@pid int)asselect * from Sales.SalesOrderDetailwhere ProductID = @pidاستفاده از کوئریهای پارامتری یکی از بهترین تمرینهای کاری با SQL server است؛ از آنجائیکه در این حالت plan تهیه شده مجددا مورد استفاده قرار گرفته، همچنین از SQL injection نیز جلوگیری خواهد کرد، زیرا برای نمونه در مثال فوق تنها ...
از 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 ...
همانطور که مطلع هستید قابلیت تهیه عبارات Insert از جداول یک دیتابیس، به صورت استاندارد به management studio 2008 اضافه شده است. برای استفاده از این قابلیت از طریق برنامه نویسی به صورت زیر میتوان عمل نمود:الف) سه ارجاع را به اسمبلیهای زیر اضافه نمائید:Microsoft.SqlServer.ConnectionInfoMicrosoft.SqlServer.Management.Sdk.SfcMicrosoft.SqlServer.Smoب) اکنون کدی که عملیات Script Data را با استفاده از قابلیتهای SMO ارائه میدهد به صورت زیر خوا ...