sql-server - tutorial - sql server management studio



এসকিউএল সার্ভার থেকে ডাটাবেস তালিকা পান (10)

SQL সার্ভার 2008 R2 এ এটি কাজ করে:

select name 
from master.sys.databases 
where owner_sid > 1;

এবং ব্যবহারকারী (গুলি) দ্বারা তৈরি শুধুমাত্র ডাটাবেস তালিকা।

আমি একটি SQL সার্ভার ইনস্ট্যান্সের উপর উপলব্ধ ডাটাবেস তালিকা পেতে পারেন কিভাবে? আমি VB.NET এর একটি কম্বো বাক্সে তাদের একটি তালিকা তৈরি করার পরিকল্পনা করছি।


Answer #1

অ ব্যবহারকারীর ডেটাবেসের সংখ্যা হিসাবে অস্পষ্টতার আলোকে, আপনাকে সম্ভবত যুক্ত করতে হবে:

WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');

এবং রিপোর্টিং সেবা ডাটাবেসের নাম যোগ করুন


Answer #2

আপনি সিস্টেম ডেটাবেস এবং প্রতিবেদন সার্ভার টেবিলগুলি (যদি ইনস্টল করা থাকে) বাদ দিতে চান:

select
            DATABASE_NAME   = db_name(s_mf.database_id)
             from
           sys.master_files s_mf
        where
            s_mf.state = 0 and -- ONLINE
            has_dbaccess(db_name(s_mf.database_id)) = 1
            and db_name(s_mf.database_id) NOT IN ('master', 'tempdb', 'model', 'msdb')
             and db_name(s_mf.database_id) not like 'ReportServer%'
        group by s_mf.database_id
        order by 1

এটি SQL সার্ভার 2008/2012/2014 এ কাজ করে। বেশিরভাগ জিজ্ঞাস্য " sp_databases " সিস্টেম সংরক্ষিত পদ্ধতি থেকে আসে। আমি শুধুমাত্র unneeded কলাম অপসারণ এবং শর্ত যেখানে যোগ করা।


Answer #3

আমি সার্ভারের ডেটাবেসগুলি ছেড়ে দিচ্ছি কিনা সে বিষয়ে নিশ্চিত না হওয়ায় আমি কোনও চালনা করছি না, কিন্তু আমি যা দেখেছি তা থেকে, আমি এই SQL এর সাথে সিস্টেম ব্যবহারকারীর মালিকানাধীন ডেটাবেসগুলি বাদ দিতে পারি:

    SELECT  db.[name] as dbname 
    FROM [master].[sys].[databases] db
    LEFT OUTER JOIN  [master].[sys].[sysusers] su on su.sid = db.owner_sid
    WHERE su.sid is null
    order by db.[name]

Answer #4

এক্সিকিউট:

SELECT name FROM master.sys.databases

এটি এখন পছন্দের পদ্ধতি, dbo.sysdatabases পরিবর্তে, যা কিছু সময়ের জন্য dbo.sysdatabases হয়েছে।

এই প্রশ্নের জবাব দিন:

SELECT name FROM master.dbo.sysdatabases

অথবা আপনি পছন্দ করেন

EXEC sp_databases

Answer #5

এসকিউএল সার্ভারে 7, ডিবিআইডি 1 থেকে 4 টি সিস্টেম ডিবিএস।



Answer #7

সম্ভবত আমি একটি ডোডো!

show databases; আমার জন্য কাজ।


Answer #8

সিস্টেম ডাটাবেস বাদ দিতে:

SELECT name FROM master.dbo.sysdatabases where sid <>0x01

Answer #9
SELECT [name] 
FROM master.dbo.sysdatabases 
WHERE dbid > 4 

আমাদের এসকিউএল সার্ভার 2008 কাজ করে






sql-server