এসকিউএল সার্ভারে সঞ্চিত পদ্ধতিতে বা কার্যক্রমে সর্বশেষ পরিবর্তনের তারিখটি কীভাবে পরীক্ষা করবেন


181

গতবারের ফাংশনটি কখন পরিবর্তন করা হয়েছিল তা আমার পরীক্ষা করা দরকার। আমি জানি কীভাবে তৈরির তারিখটি পরীক্ষা করতে হয় (এটি এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে ফাংশন বৈশিষ্ট্য উইন্ডোতে রয়েছে)।
আমি দেখতে পেলাম যে এসকিউএল সার্ভার 2000 এ তারিখ পরিবর্তিত তারিখটি পরীক্ষা করা সম্ভব ছিল না (এই পোস্টটি দেখুন: এসকিউএল সার্ভার 2000 এ কখন কোনও সঞ্চিত পদ্ধতিটি শেষবার সংশোধন করা হয়েছিল তা নির্ধারণ করা সম্ভব? )

এটি কি এসকিউএল সার্ভার 2008 এ চেক করা সম্ভব? এমএস সিস্টেম টেবিলে কিছু নতুন বৈশিষ্ট্য যুক্ত করে যা এটি পরীক্ষা করতে দেয়?

উত্তর:


383
SELECT name, create_date, modify_date 
FROM sys.objects
WHERE type = 'P'
ORDER BY modify_date DESC

typeএকটি ফাংশন জন্য FNবদলে Pপদ্ধতি জন্য। অথবা আপনি নাম কলামে ফিল্টার করতে পারেন।


5
দেখে মনে হচ্ছে যে কিছু অনুমতি পেয়েছে ফলাফলগুলি এই কোয়েরি থেকে বাদ দিতে পারে - যদিও কিছু ফলাফল ফিরে আসে। আমরা ব্যবহারকারীর কর্তৃত্বের ভিত্তিতে বিভিন্ন ফলাফল পর্যবেক্ষণ করেছি - তবে কোন কর্তৃপক্ষের সাথে জড়িত তা আমি এটিকে সংকুচিত করি নি। দীর্ঘ গল্প সংক্ষিপ্ত: আপনি সবকিছু দেখছেন তা নিশ্চিত করতে পারলে এই কোয়েরিটি SA হিসাবে চালান।
রায়ান গিল

1
আপনি সত্যিই সঠিক। msdn.microsoft.com/en-us/library/ms190324%28v=sql.105%29.aspx "এসকিউএল সার্ভার ২০০৫ এবং তার পরবর্তী সংস্করণগুলিতে, ক্যাটালগ ভিউগুলিতে মেটাডেটার দৃশ্যমানতা সিকিওরিবেলে সীমাবদ্ধ যা কোনও ব্যবহারকারী তার মালিকানাধীন বা যার উপর ব্যবহারকারীকে কিছু অনুমতি দেওয়া হয়েছে more আরও তথ্যের জন্য, মেটাডেটা ভিজিবিলিটি কনফিগারেশন দেখুন।
ক্রিস ডুবুরি

1
সতর্কতার শব্দ। যদি ওপি একচেটিয়াভাবে একটি ALTER DDL বিবৃতি দিয়ে তৈরি মডিউলে পরিবর্তনগুলি উল্লেখ করে তবে modify_dateবিভ্রান্তিকর হতে পারে। উদাহরণস্বরূপ, যদি sys.sp_refreshsqlmoduleমডিউলটিতে সম্পাদন করা হয় modify_dateতবে প্রযুক্তিগতভাবে মডিউলটির কোডটি পরিবর্তন না হলেও এটি পরিবর্তিত হবে।
gravidThoughts

কীভাবে কেবলমাত্র নির্দিষ্ট ডাটাবেস সঞ্চিত প্রক্রিয়া পেতে পারে ?!
ইরফান

2
@im_one যেখানে লাইন পর যোগ AND name = 'specified procedure'যেখানে specified procedureসঞ্চিত proc আপনাকে খুঁজে করতে চান তার নাম।
টাইলার এইচ

41

সঞ্চিত পদ্ধতিগুলির জন্য এটি ব্যবহার করে দেখুন:

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND name = 'myProc'

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত কারণ এটি সহজ এবং সোজা।
ব্যবহারকারী3454439


7

আমি এটি নতুন কৌশল হিসাবে তালিকাভুক্ত পেয়েছি

এটি খুব বিস্তারিত

SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' 
order by  LAST_ALTERED desc

SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' 
order by  CREATED desc 


SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo' 
order by  LAST_ALTERED desc

SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo' 
order by  CREATED desc 

4

এসকিউএল 2000 এর জন্য আমি ব্যবহার করব:

SELECT name, crdate, refdate 
FROM sysobjects
WHERE type = 'P' 
ORDER BY refdate desc

2008 এর কথা ..? এটাই কি প্রশ্ন না ..?
এনআরইজেড

@ স্নোসজেক্টগুলিতে এনআরইজেড ক্যোয়ারীগুলি 2008-তে সমর্থিত তাই এটি কাজ করবে
পল

রেফেট সর্বশেষ পরিবর্তিত তারিখ নয়। সিস.অবজেক্ট এবং সিসোবজেক্টের মধ্যে তারিখের পার্থক্যটি পরীক্ষা করুন।
অ্যাক্সেস_গ্রন্থিত

2

সর্বশেষতম সংস্করণে (2012 বা আরও) আমরা এই ক্যোয়ারীটি ব্যবহার করে সংশোধিত সঞ্চিত প্রক্রিয়া বিশদটি পেতে পারি

SELECT create_date, modify_date, name FROM sys.procedures 
ORDER BY modify_date DESC

0
SELECT *
FROM sys.objects
WHERE type IN ('FN', 'IF', 'TF') 
AND name = 'dgdsgds'

1
আমি আপনাকে অনুরোধ করতে দয়া করে আপনার উত্তর কাছাকাছি আরও কিছু প্রসঙ্গ যুক্ত করুন। কোড-কেবল উত্তরগুলি বোঝা মুশকিল। আপনি যদি আপনার পোস্টে আরও তথ্য যুক্ত করতে পারেন তবে এটি প্রশ্নকারী এবং ভবিষ্যতের পাঠকদের উভয়কেই সহায়তা করবে।
আরবিটি

0

আপনি চেকের জন্য এটি ব্যবহার করতে পারেন তারিখ অনুসারে functionsএবং stored proceduresএক সাথে আদেশের তারিখ সংশোধন করার জন্য :

SELECT 'Stored procedure' as [Type] ,name, create_date, modify_date 
FROM sys.objects
WHERE type = 'P' 

UNION all

Select 'Function' as [Type],name, create_date, modify_date
FROM sys.objects
WHERE type = 'FN'
ORDER BY modify_date DESC

বা:

SELECT type ,name, create_date, modify_date 
FROM sys.objects
WHERE type in('P','FN') 
ORDER BY modify_date DESC
-- this one shows type like : FN for function and P for stored procedure

ফলাফল এরকম হবে:

Type                 |  name      | create_date              |  modify_date
'Stored procedure'   | 'firstSp'  | 2018-08-04 07:36:40.890  |  2019-09-05 05:18:53.157
'Stored procedure'   | 'secondSp' | 2017-10-15 19:39:27.950  |  2019-09-05 05:15:14.963
'Function'           | 'firstFn'  | 2019-09-05 05:08:53.707  |  2019-09-05 05:08:53.707
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.