توسط رویه زیر میتوانید n عدد تصادفی در یک باز مشخص بدست آورید.
Create Procedure
RandomNumbers ( @min
bigint ,@max
bigint ,@count
int ) as Set Nocount On Declare @t table (num bigint) Declare @start bigint Declare @End bigint While @min<=@max Begin Insert into @t values(@min) set @min=@min+1 End Set Rowcount @count Select num from @t order by newid() Set Rowcount 0
برای اجرا کردن رویه ابتدا و انتهای بازه و تعداد اعداد تصادفی را مشخص کنید.
Exec RandomNumbers 100,300,10
پیشتر اینجا مطلبی در مورد مدیریت رخدادها به صورت دستی نوشته بودم. در این پست قصد دارم به نحوه ثبت رخدادها به صورت خودکار در هنگام اجرای کامپننتها بپردازم. در واقع در این روش نیازی نیست که جدول جداگانهای داشته باشیم و یا پارمتری تنظیم کنیم، فقط کافیست یکسری تنظیمات اولیه انجام دهیم و همه چیز را به خود SSIS بسپاریم.
برای اینکار مراحل زیر را انجام دهید.
1- پس از آنکه پکیج مورد نظر را ایجاد کردید از نوار ابزار ابتدا SSIS و سپس Loging را انتخاب کنید.
2- مطابق شکل زیر تنظیمات مربوط به Log را انجام دهید.
از پنل سمت چپ میتوانید تمام پکیج و یا یک کامپننت خاص را انتخاب کنید. در صورتی که پکیج انتخاب شده باشد، رویدادی که در مرحله بعد انتخاب خواهید کرد از تمام کامپننتهای پکیج Log میگیرد.
در قسمت Providers and Logs نوع Provider خود را انتخاب کنید. از آنجایی که ما قصد داریم Log را در SQL و به صورت جدولی داشته باشیم از SSIS log provider for SQL Server استفاده میکنیم.
در Configuration محل ذخیره Log را انتخاب کنید.
از قسمت Details میتوانید تنظیمات مربوط به Log و نحوه آن را مشخص کنید.
3- بر روی Ok کلیک کرده و پکیج را اجرا کنید.
از دستور زیر برای مشاهده Log استفاده کنید.
SELECT * FROM dbo.sysssislog