Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं एक परिणाम सेट में SQL सर्वर के सभी डेटाबेस में सभी तालिकाओं को कैसे सूचीबद्ध करूं?

सर्वर पर सभी तालिकाओं को प्राप्त करने के सरल तरीके के लिए, यह प्रयास करें:

SET NOCOUNT ON
DECLARE @AllTables table (CompleteTableName nvarchar(4000))
INSERT INTO @AllTables (CompleteTableName)
    EXEC sp_msforeachdb 'select @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name from [?].sys.tables t inner join sys.schemas s on t.schema_id=s.schema_id'
SET NOCOUNT OFF
SELECT * FROM @AllTables ORDER BY 1

यह एक एकल कॉलम लौटाएगा जिसमें सर्वर+डेटाबेस+स्कीमा+टेबल नाम शामिल है:नमूना आउटपुट:

CompleteTableName
--------------------------------------------
YourServer.YourDatabase1.YourSchema1.YourTable1
YourServer.YourDatabase1.YourSchema1.YourTable2
YourServer.YourDatabase1.YourSchema2.YourTable1
YourServer.YourDatabase1.YourSchema2.YourTable2
YourServer.YourDatabase2.YourSchema1.YourTable1

यदि आप SQL Server 2005 या इसके बाद के संस्करण पर नहीं हैं, तो DECLARE @AllTables table को बदलें CREATE TABLE #AllTables . के साथ और फिर हर @AllTables #AllTables . के साथ और यह काम करेगा।

संपादित करें
यहां एक संस्करण दिया गया है जो सर्वर+डेटाबेस+स्कीमा+टेबल नामों के किसी भी हिस्से या हिस्से पर खोज पैरामीटर का उपयोग करने की अनुमति देगा:

SET NOCOUNT ON
DECLARE @AllTables table (CompleteTableName nvarchar(4000))
DECLARE @Search nvarchar(4000)
       ,@SQL   nvarchar(4000)
SET @Search=null --all rows
SET @SQL='select @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name from [?].sys.tables t inner join sys.schemas s on t.schema_id=s.schema_id WHERE @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name LIKE ''%'+ISNULL(@SEARCH,'')+'%'''

INSERT INTO @AllTables (CompleteTableName)
    EXEC sp_msforeachdb @SQL
SET NOCOUNT OFF
SELECT * FROM @AllTables ORDER BY 1

सभी तालिकाओं के लिए @Search को NULL पर सेट करें, इसे 'dbo.users' या 'users' या '.master.dbo' जैसी चीज़ों पर सेट करें या '.master.%.u', आदि जैसे वाइल्डकार्ड भी शामिल करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में CONVERT () बनाम TRY_CONVERT:क्या अंतर है?

  2. आल्टर स्टेटमेंट का उपयोग करके SQL सर्वर में तालिका को कैसे बदलें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 35

  3. Azure डेटा स्टूडियो में SQL सर्वर एजेंट जॉब बनाएँ

  4. SQL:केवल पहले अक्षर को बड़ा करें

  5. SQL सर्वर में IsInteger के लिए सर्वश्रेष्ठ समकक्ष