টি-এসকিউএল-তে ডিবাগ সময়ে কোনও টেবিল ভেরিয়েবলের মানগুলি কীভাবে দেখবেন?


187

ডিবাগের সময় আমরা কী এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে (এসএসএমএস) মূল্যবান একটি টেবিলের মানগুলি (সারি এবং ঘরগুলি) দেখতে পাব? যদি হ্যাঁ, কিভাবে?

এখানে চিত্র বর্ণনা লিখুন

উত্তর:


31

এটি এখনও এই মাইক্রোসফ্ট সংযোগ লিঙ্ক: মাইক্রোসফ্ট সংযোগ অনুযায়ী কার্যকর করা হয়নি



2
এবং এখানে আমরা ২০১ 2016 সালে আছি No কানেক্ট লিঙ্কটি আর কাজ করে না।
dotNET

5
সত্য কথা বলতে গেলে এটি আসলে কোনও উত্তর নয় কারণ এটি প্রশ্নের উত্তর দেয় না, প্রশ্নটি কীভাবে এটি করা হয় (এসএসএমএসের কোনও বৈশিষ্ট্য রয়েছে কিনা তা নয়) উল্লেখ করে মানগুলি প্রদর্শনের উপায় না থাকাকালীন এটি প্রয়োগ করা হয়নি। খুব উপকারী.
রেজওয়ান ফ্ল্যাভিয়াস পান্ডা

1
দয়া করে এই উত্তরটি মুছুন। নীচের উত্তরটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
ঘূর্ণি 852456

2018, এখনও না।
এজেন্টফায়ার

317
DECLARE @v XML = (SELECT * FROM <tablename> FOR XML AUTO)

আপনি যেখানে টেবিলের বিষয়বস্তু দেখতে চান সেখানে উপরের বিবৃতিটি সন্নিবেশ করুন। সারণীর সামগ্রীগুলি স্থানীয় উইন্ডোতে এক্সএমএল হিসাবে রেন্ডার করা হবে, বা আপনি @vঘড়ির উইন্ডোতে যুক্ত করতে পারেন ।

এখানে চিত্র বর্ণনা লিখুন


1
এটি অবশ্যই একটি চারপাশের কাজ যা ছোট টেবিলগুলি এক্সএমএল হিসাবে উপস্থাপনের জন্য যথেষ্ট।
ফয়েজ

4
তবে তবুও পড়া বন্ধ করবেন না! নীচে আরেকটি দুর্দান্ত বিকল্প! দুর্দান্ত থ্রেড !!
মাইক এম

1
এক্সএমএল সহ আমার বড় টেবিল রয়েছে যা পড়ার পক্ষে খুব বেশি বন্ধুত্বপূর্ণ নয়। আমি আরেকটি পদক্ষেপ নিয়েছি - এক্সএমএলটি অনুলিপি করে xMLgrid.net এ পেস্ট করুন এবং আপনি এক্সএমএলটিকে একটি টেবিল হিসাবে দেখতে পাবেন। টেবিলের দৃশ্যায়ন সত্যই সহায়তা করে। ভিসুয়াল স্টুডিওতে ডেটাটেবল দর্শকের মতো একটি টেবিল দর্শক রয়েছে এমন এসএমএসের মুক্তির অপেক্ষায়।
মোইজ টানকিওয়ালা

1
আপনি "ফর এক্সএমএল" ধারাটিতে ", রুট ('রুটনোডনেম')" যুক্ত করতে পারেন। এটি একক মূলের অধীনে একাধিক সারি (যদি থাকে) সংগ্রহ করবে, যা আইনী এক্সএমএল নথি তৈরি করে, যা পাঠ্য ভিজুয়ালাইজারের পরিবর্তে এক্সএমএল ভিজুয়ালাইজারের সাথে দেখা যেতে পারে।
L4

2
এসকিউএল সার্ভার 2016 ব্যবহার করে বা কখনও DECLARE @v nvarchar(max) = (SELECT * FROM <tablename> FOR JSON AUTO)
আপনিও এর জেএসএন

18

এই প্রকল্পের https://github.com/FilipDeVos/sp_select এর একটি সঞ্চিত পদ্ধতি রয়েছেsp_select যা একটি অস্থায়ী সারণী থেকে নির্বাচন করার অনুমতি দেয়।

ব্যবহার:

exec sp_select 'tempDb..#myTempTable'

সঞ্চিত পদ্ধতিটি ডিবাগ করার সময় আপনি একটি নতুন ট্যাব খুলতে এবং টেম্প টেবিলের বিষয়বস্তু দেখতে এই আদেশটি চালাতে পারেন।


6
টেম্প টেবিলগুলির জন্য দুর্দান্ত তবে টেবিলের ভেরিয়েবলগুলির জন্য নয়
হারাগ

এছাড়াও যদি কোনও উন্মুক্ত লেনদেন হয় তবে স্তব্ধ হয়, তাই টিএসকিউএলটির মতো ফ্রেমওয়ার্কে একটি ডিবাগিং পরীক্ষা ব্যবহার করে যদি খুব বেশি ব্যবহার না হয় যা পরীক্ষার শুরুতে সর্বদা লেনদেন খোলে।
নাথান

1
WOW WOW WOW WOW
vothaison

ভাল - আপনি যদি একটি একক কলাম বা দুটি
অনুসারে

6

সঞ্চিত পদ্ধতিতে একটি বিশ্বব্যাপী অস্থায়ী টেবিল তৈরি করুন ## প্রলোভনীয় এবং আপনার সঞ্চিত পদ্ধতির মধ্যে একটি সন্নিবেশ ক্যোয়ারী লিখুন যা এই অস্থায়ী সারণীতে আপনার সারণীর ডেটা সন্নিবেশ করে।

এটি হয়ে গেলে আপনি নতুন ক্যোয়ারী উইন্ডোটি খোলার মাধ্যমে অস্থায়ী টেবিলের সামগ্রীটি পরীক্ষা করতে পারেন। কেবল ## প্রলোভনীয় থেকে "নির্বাচন করুন" ব্যবহার করুন


1

সারণী ভেরিয়েবল প্রদর্শনের জন্য কেবল নির্বাচিত ক্যোয়ারী ব্যবহার করুন, যেখানে আপনি চেক করতে চান।

http://www.simple-talk.com/sql/learn-sql-server/management-studio-improvements-in-sql-server-2008/


হ্যাঁ সর্বোত্তম এবং দ্রুত বিকল্পটি সম্মত। কেবল এটি করুন এবং আপনার আরও নিয়ন্ত্রণের প্রয়োজন হলে চালিত করতে চান কেবলমাত্র এসকিউএল হাইলাইট এবং কার্যকর করুন।
জামিন

2
ঘড়ি উইন্ডো কোথায়, নির্বাচিত ক্যোয়ারী ব্যবহার করবেন?
ফয়েজ

প্রক্রিয়াটির মধ্যে নির্বাচন নির্বাচন করুন বা আপনার যে কোনও অ্যাডহক ক্যোয়ারী চালানো হচ্ছে তা ব্যবহার করুন
solairaja

তবে যা যা পরীক্ষা করার দরকার তা হ'ল একটি টেবিলের মূল্যবান ফাংশন এবং এটি ত্রুটিটি ছুঁড়ে দেয় "কোনও ফাংশনের অন্তর্ভুক্ত থাকা বিবৃতিগুলি ক্লায়েন্টের কাছে ডেটা ফেরত দিতে পারে না"। ডিবাগিং সরঞ্জাম সরবরাহ করে বিশেষত পরীক্ষা করার জন্য অন্য কোনও উপায় আছে কি?
ফয়েজ

3
না যা প্রশ্নের সমাধান করে না। আমি মনে করি কোনও অতিরিক্ত প্লাগইন ছাড়া এটি সম্ভব নয়।
ফয়েজ

1

আপনি যদি এসকিউএল সার্ভার 2016 বা আরও বেশি ব্যবহার করে থাকেন তবে আপনি এটিকে JSON ফলাফল হিসাবেও বেছে নিতে পারেন এবং এটি JSON ভিজ্যুয়ালাইজারে প্রদর্শন করতে পারেন, এটি এক্সএমএলের চেয়ে এটি পড়তে অনেক সহজ এবং আপনাকে ফলাফলগুলি ফিল্টার করতে দেয়।

DECLARE @v nvarchar(max) = (SELECT * FROM Suppliers FOR JSON AUTO)

এখানে চিত্র বর্ণনা লিখুন


0

আমি এই সিদ্ধান্তে পৌঁছেছি যে কোনও প্লাগইন ছাড়া এটি সম্ভব নয়।


আমি ভিজ্যুয়াল স্টুডিও ২০১০ এর কিছু পূর্বরূপ দেখেছি Very খুব অভিনব, জটিল এবং বিস্তারিত ... এবং টেম্প টেবিলগুলি ডিবাগ মোডে দেখা যায় কিনা তা বিক্ষোভকারী জানেন না। এটি প্রকাশিত হতে পারে, তবে আমি আমার দম ধরে রাখছি না।
ফিলিপ কেলি

0

এসকিউএল সার্ভার প্রোফাইলার 2014 সারণী মান প্যারামিটারের সামগ্রী তালিকাভুক্ত করে। আগের সংস্করণগুলিতেও কাজ করতে পারে। এসপি সক্ষম করুন: শুরু বা আরপিসি: সঞ্চিত প্রক্রিয়া গোষ্ঠী এবং টেক্সটডাটা কলামে সম্পূর্ণ ইভেন্ট এবং আপনি লগ-এ প্রবেশের সময় ক্লিক করলে আপনার সারণী ভেরিয়েবলের জন্য সন্নিবেশ স্টেটমেন্ট থাকবে। তারপরে আপনি পাঠ্যটি অনুলিপি করতে পারেন এবং পরিচালনা স্টুডিওতে চালাতে পারেন run

নমুনা আউটপুট:

declare @p1 dbo.TableType
insert into @p1 values(N'A',N'B')
insert into @p1 values(N'C',N'D')

exec uspWhatever @PARAM=@p1

-1

কেন কেবল সারণিটি নির্বাচন করে চলকটি সেভাবে দেখবেন না?

SELECT * FROM @d

4
কিভাবে এটি সম্পর্কে যেতে দয়া করে ব্যাখ্যা করুন। SELECT * FROM @Tableডিবাগ হওয়া স্ক্রিপ্টটিতে একটি যুক্ত করা ফলাফল উইন্ডোতে ফলাফল নির্গত করে না।
স্টিংজি জ্যাক

-3

দুঃখিত বন্ধুরা, আমি পার্টিতে কিছুটা দেরী করেছি তবে যে কারওর পরের তারিখে এই প্রশ্নটি দেখে হোঁচট খায়, আমি সঞ্চিত পদ্ধতিতে এটি করার সবচেয়ে সহজ উপায়টি পেয়েছি:

  1. উপরে ঘোষিত ও প্রারম্ভিক কোনও প্রক্রিয়া পরামিতি সহ একটি নতুন ক্যোয়ারী তৈরি করুন।
  2. আপনার পদ্ধতির শরীরে আটকান।
  3. আপনার টেবিল ভেরিয়েবলটি ডেটা দিয়ে শুরু করার সাথে সাথেই একটি ভাল পুরানো ফ্যাশনযুক্ত নির্বাচিত ক্যোয়ারী যুক্ত করুন।
  4. যদি 3. পদ্ধতিটির শেষ বক্তব্য না হয়, একই লাইনে একটি ব্রেকপয়েন্ট নির্ধারণ করুন, ডিবাগিং শুরু করুন এবং সরাসরি আপনার ব্রেকপয়েন্টে অবিরত করুন।
  5. মুনাফা !!

মেসি 19 এর উত্তরটি গ্রহণযোগ্য একটি আইএমএইচও হওয়া উচিত, যেহেতু এটি আমার চেয়ে সহজ এবং কাজটি সবচেয়ে বেশি করে সময় করে তবে আপনি যদি আমার মতো হন এবং আপনি যে লুপটি পরীক্ষা করতে চান তার ভিতরে টেবিলের পরিবর্তনশীল থাকে তবে এটি কাজটি সুন্দরভাবে করে খুব বেশি প্রচেষ্টা বা বাহ্যিক এসএসএমএস প্লাগইন ছাড়াই।


এটি ওপি যা করার চেষ্টা করছে তার সম্পূর্ণ বিপরীত।
জেমি মার্শাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.