بنام خدا
با سلام
در اين مقاله چند رويه مفيد كه در برنامه نويسي با كمك SQL Server مي تونه مفيد باشه براتون توضيح مي دم لازم به ذكر است منبع اكثر رويه ها سايت www.SqlSeverCentral.com مي باشد و نويسنده رويه نيز در متن رويه هاي آمده است و من طي كارهايي كه كردم اين رويه ها رو مفيد تشخيص دادم اميدوارم براي شما هم مفيد باشه.
- با كمك اين رويه مي تونيد يك پيغام را به كليه كاربراني كه در حال حاضر به SQL Server متصل هستند ارسال كنيد بطور مثال اگر بخواهيد SQL Server را Stop نماييد مي توانيد ابتدا يك پيغام به كليه كاربران ارسال و ساعت مشخصي را اعلام نماييد تا كاربران در مدت باقيمانده از نرم افزارها خارج شوند.
CREATE PROC notify_users(@notification VARCHAR(100) = 'SQL Server shutting down') AS
BEGIN
/*******************************************************************************************************
Written by: Narayana Vyas Kondreddi
Date written: November 26th 2000
Purpose: To send NET SEND messages to all the connected SQL Server users in an NT Local Area Network
Input parameters:
Message to be sent
Tested on: SQL Server Version 7.0, SQL Server 2000
Email: answer_me@hotmail.com
*******************************************************************************************************/
SET NOCOUNT ON
DECLARE @msg VARCHAR(250)
DECLARE @hostname sysname
SELECT @hostname= min(RTRIM(hostname))
FROM
master.dbo.sysprocesses (NOLOCK)
WHERE
hostname <> ''
WHILE @hostname is not null
BEGIN
set @msg='exec master.dbo.xp_cmdshell "net send ' + RTRIM(@hostname) + ' ' + RTRIM(@notification) + ' "'
EXEC (@msg)
SELECT @hostname= min(RTRIM(hostname))
FROM
master.dbo.sysprocesses (NOLOCK)
WHERE
hostname <> ''
and hostname > @hostname
END
SET NOCOUNT OFF
END
- با كمك اين رويه مي توانيد از داخل Stored Procedure ها ، Trigger ها و ... پيغام هايي دلخواه ايجاد شده را در داخل فايل متني ذخيره نماييد از اين رويه براي ايجاد يك مدير ثبت وقايع (Log Manager) مي توانيد استفاده نماييد بطور مثال جهت ثبت ورود و خروج كاربران ، ويرايش اطلاعات(ايجاد ، اصلاح و حذف) و ... اين رويه كاربرد دارد.
CREATE PROC write_to_file
@msg VARCHAR(100),
@file VARCHAR(100),
@overwrite BIT = 0
AS
/*
Written by: Narayana Vyas Kondreddi
Date written: January 12th 2001
Purpose: To log messages to text files from stored procedures/triggers/sql scripts
Input parameters: message, file name, overwrite flag (1 to overwrite, 0 to append to file, 0 is the default)
Example: EXEC write_to_file 'Duplicates found','C:\logfile.txt',0
Tested on: SQL Server Version 7.0, 2000
Remarks: You should have permissions required through access file system through xp_cmdshell
See SQL Server Books Online for xp_cmdshell if you are having problems with this procedure
Email: answer_me@hotmail.com
Homepage: http://vyaskn.tripod.com
*/
BEGIN
SET NOCOUNT ON
DECLARE @execstr VARCHAR(255)
SET @execstr = RTRIM('echo ' + COALESCE(LTRIM(@msg),'-') + CASE WHEN (@overwrite = 1) THEN ' > ' ELSE ' >> ' END + RTRIM(@file))
EXEC master..xp_cmdshell @execstr
SET NOCOUNT OFF
END
خوب دوستان اينم از اين مطلب – در قسمت هاي بعد رويه هاي مفيد ديگري رو باهم مرور مي كنيم.
اميدوارم از اين مطالب استفاده كنيد و براتون مفيد باشه لطفا نظرات اصلاحي و تكميلي خودتون رو در قسمت نظرات بگيد
و من ا... التوفيق – مدير سايت
درباره من : من مهدی امینی متولد 1352 در حدود 15 سال در زمینه مختلف مرتبط با پروژه های نرم افزاری فعالیت دارم عمده فعالیتهای جاری اینجانب در خصوص مدیریت پروژه های نرم افزاری . طراحی سیستمی و فرایندی فعالیتها و مدیریت تیمهای طراحی و برنامه نویسی می باشد.