تا %60 تخفیف خرید برای 6 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

کوئری های کاربردی در SQL Server - بخش اول

در این مقاله قصد داریم تا با برخی از کوئری های تعریف شده در SQL Server که بعضاً بسیار مهم و پرکاربردی هستند آشنا شویم. به نظر من هر برنامه نویس و یا مدیر بانک اطلاعاتی باید با این کوئری ها آشنایی داشته باشد. این کوئری ها به شما کمک می کنند تا مشکلات خود را که از مسائل خیلی ساده تا مسائل پیچیده را شامل می شوند حل کنید. پس در این مطلب همراه من باشید.


کوئری 1: دریافت لیست کلیه بانک های اطلاعاتی


این کوئری به شما کمک می کند که لیستی از بانک های موجود را دریافت کنید:

exec sp_helpdb

کوئری 2: نمایش متن یک Stored Procedure


این کوئری دستوراتی که برای یک SP نوشته شده را در خروجی برای شما نمایش می دهد:

exec sp_helptext @objname = 'Object_Name'

کافیست در بخش Object_Name نام SP مربوطه را بنویسید، برای مثال:

exec sp_helptext @objname = 'AddUser'

کوئری 3: دریافت لیست کلیه Stored Procedure های مربوط به یک Database


بوسیله کوئری زیر می توانید لیستی از Stored Procedure های تعریف شده برای یک بانک را بدست آورید:

USE [Database];
go

SELECT DISTINCT o.name, o.xtype    
FROM syscomments c    
INNER JOIN sysobjects o ON c.id=o.id    
WHERE o.xtype='P' 

به جای Database، نام بانک مورد نظر خود را بنویسید. همچنین برای دریافت لیست View ها می توانید به جای p در کوئری بالا، از کاراکتر v و برای بدست آوردن Function از fn استفاده کنید.


کوئری 4: دریافت لیست Stored Procedure های مربوط به یک Table


بوسیله این کوئری می توان لیستی از Stored Procedure هایی که در آن از یک Table خاص استفاده شده را بدست آورد:

USE [Database];
go

SELECT DISTINCT o.name, o.xtype  
  
FROM syscomments c  
  
INNER JOIN sysobjects o ON c.id=o.id  
  
WHERE c.TEXT LIKE '%Table_Name%' AND o.xtype='P' 

به جای Database نام بانک مورد نظر و به جای Table_Name نام جدول را بنویسید. همچنین برای دریافت لیست View ها می توانید به جای p در کوئری بالا، از کاراکتر v و برای بدست آوردن Function از fn استفاده کنید.


کوئری 5: Rebuild کردن همه Index های یک Database


ایندکس های موجود در بانک های اطلاعاتی، به مرور زمان و با درج و حذف های متعدد، با پدیده ای به نام fragmentation مواجه می شوند. بوسیله Query زیر می توان ایندکس های یک بانک را بازسازی کرد:

USE [Database];
GO

EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"  
GO  
  
EXEC sp_updatestats  
GO 

به جای Database نام بانک مورد نظر خود را بنویسید. ITPRO باشید

نویسنده: حسین احمدی

منبع: انجمن تخصصی فناوری اطلاعات ایران

از اینکه این مطلب را با ذکر منبع کپی می کنید از شما سپاسگذارم

عنوان
1 کوئری های کاربردی در SQL Server - بخش اول رایگان
2 کوئری های پرکاربرد در SQL Server :: قسمت دوم رایگان
3 کوئری های پرکاربرد در SQL Server :: قسمت سوم رایگان
4 کوئری های پرکاربرد در SQL Server :: قسمت چهارم رایگان
زمان و قیمت کل 0″ 0
نظر شما
برای ارسال نظر باید وارد شوید.
1 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند
تنظیمات حریم خصوصی
تائید صرفنظر