هل هناك طريقة سريعة لتقرير الفوقية بيانات في SQL Server 2005؟

StackOverflow https://stackoverflow.com/questions/454986

سؤال

هل هناك أي procs النظام المخزن للإبلاغ عن إحصاءات والبيانات الوصفية من قاعدة البيانات نفسها في SQL Server 2005؟

ما احتاج اليه هو وسيلة سريعة لإخراج قائمة الجداول، وحجم كل طاولة، وعدد الصفوف في كل جدول وهلم جرا. سوف procs المخزنة للجداول الفردية والفوقية أيضا أن تكون مفيدة.

والمشورة تقدير.

هل كانت مفيدة؟

المحلول

ونعم، سوف الجداول قاموس البيانات تمكنك من القيام بذلك. الجداول الرئيسية في قاموس البيانات هي sys.objects و <ل أ href = "http://msdn.microsoft.com/en-us/library/ms176106.aspx" يختلط = "نوفولو noreferrer"> sys.columns ، <وأ href = "http://msdn.microsoft كوم / EN-US / مكتبة / ms173760.aspx "يختلط =" نوفولو noreferrer "> sys.indexes و <لأ href =" http://technet.microsoft.com/en-us/library/ms189807 .aspx اتصال "يختلط =" نوفولو noreferrer "> sys.foreign_keys و sys.sql_modules . للحصول على مثال من مجموعة متنوعة من الاستعلامات التي تستخدم القاموس بيانات النظام إلى عكس هندسة قاعدة بيانات لبرنامج نصي SQL، وإلقاء نظرة على الموقع هذا ستاكوفيرفلوو النشر.

والحصول على استخدام الفضاء هو أكثر قليلا الملتوية للقيام من البيانات dictionarybut sp_spaceused سوف نفعل ذلك جدول واحد. يمكنك لف هذا مع sp_msforeachtable لتكرار أكثر من مجموعة من الجداول والحصول على تقرير لكافة الجداول.

نصائح أخرى

ونلقي نظرة على وجهات نظر النظام، ولا سيما INFORMATION_SCHEMA.TABLES. وهذه procs أيضا الحصول على الكثير من البيانات التي تبحث عنها.

sp_helpdb dbname
sp_help objectname
sp_spaceused tablename

وبدلا من الاستعلام عن sysobjects الخ ... الجداول مباشرة، يمكنك استخدام طريقة العرض INFORMATION_SCHEMA.

في الواقع، كان sysobjects طاولة في SQL SErver2000، ولكن في SQL 2005، ويتم تنفيذ أنها view، ويتم الاحتفاظ به للحفاظ على التوافق مع الإصدارات السابقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top