{"id":953,"date":"2017-03-04T01:52:01","date_gmt":"2017-03-03T20:22:01","guid":{"rendered":"http:\/\/pramodsingla.com\/?p=953"},"modified":"2017-03-04T01:52:01","modified_gmt":"2017-03-03T20:22:01","slug":"mssql-server-get-vlf-counts-of-all-dbs","status":"publish","type":"post","link":"https:\/\/pramodsingla.com\/?p=953","title":{"rendered":"MSSQL Server: Get VLF counts of all Dbs"},"content":{"rendered":"<p><strong>Problem Statement:<\/strong>Get the VLF count of all the dbs in a SQL server Instance.<br \/>\n<strong>Solution:\u00a0<\/strong><\/p>\n<blockquote><p><code><span style=\"color:green;\"><i>--variables\u00a0to\u00a0hold\u00a0each\u00a0'iteration'\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@query<\/span>\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">100<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span>\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfs<\/span>\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><br \/>\n<span style=\"color:green;\"><i>--table\u00a0variable\u00a0used\u00a0to\u00a0'loop'\u00a0over\u00a0databases\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@databases<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">dbname<\/span>\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@databases<\/span><br \/>\n<span style=\"color:green;\"><i>--only\u00a0choose\u00a0online\u00a0databases\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">NAME<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">databases<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:maroon;\">state<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:black;\">0<\/span><\/p>\n<p><span style=\"color:green;\"><i>--table\u00a0variable\u00a0to\u00a0hold\u00a0results\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfcounts<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">dbname<\/span>\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">vlfcount<\/span>\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:green;\"><i>--table\u00a0variable\u00a0to\u00a0capture\u00a0DBCC\u00a0loginfo\u00a0output\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:green;\"><i>--changes\u00a0in\u00a0the\u00a0output\u00a0of\u00a0DBCC\u00a0loginfo\u00a0from\u00a0SQL2012\u00a0mean\u00a0we\u00a0have\u00a0to\u00a0determine\u00a0the\u00a0version\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@MajorVersion<\/span>\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@MajorVersion<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:fuchsia;\"><i>LEFT<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:fuchsia;\"><i>Cast<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:fuchsia;\"><i>Serverproperty<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">'ProductVersion'<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">max<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:fuchsia;\"><i>Charindex<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">'.'<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Cast<\/i><\/span><span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:fuchsia;\"><i>Serverproperty<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">'ProductVersion'<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span><br \/>\n<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">max<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">-<\/span>\u00a0<span style=\"color:black;\">1<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">IF<\/span>\u00a0<span style=\"color:#8000ff;\">@MajorVersion<\/span>\u00a0<span style=\"color:silver;\">&lt;<\/span>\u00a0<span style=\"color:black;\">11<\/span>\u00a0<span style=\"color:green;\"><i>--\u00a0pre-SQL2012\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@dbccloginfo<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">fileid<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">file_size<\/span>\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIGINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">start_offset<\/span>\u00a0<span style=\"color:black;\"><i>BIGINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">fseqno<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">[status]<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">parity<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">create_lsn<\/span>\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NUMERIC<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">WHILE<\/span>\u00a0<span style=\"color:blue;\">EXISTS<\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">TOP<\/span>\u00a0<span style=\"color:black;\">1<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:#8000ff;\">@databases<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">TOP<\/span>\u00a0<span style=\"color:black;\">1<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:#8000ff;\">@databases<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@query<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">'dbcc\u00a0loginfo\u00a0('<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">''''<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">''')\u00a0'<\/span><\/p>\n<p><span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@dbccloginfo<\/span><br \/>\n<span style=\"color:blue;\">EXEC<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@query<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfs<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@@rowcount<\/span><\/p>\n<p><span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfcounts<\/span><br \/>\n<span style=\"color:blue;\">VALUES<\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@dbname<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@vlfs<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">DELETE<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:#8000ff;\">@databases<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:maroon;\">dbname<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:green;\"><i>--while\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">END<\/span><br \/>\n<span style=\"color:blue;\">ELSE<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@dbccloginfo2012<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">RecoveryUnitId<\/span>\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">fileid<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">file_size<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIGINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">start_offset<\/span>\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIGINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">fseqno<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">[status]<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">parity<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>TINYINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">create_lsn<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NUMERIC<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">WHILE<\/span>\u00a0<span style=\"color:blue;\">EXISTS<\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">TOP<\/span>\u00a0<span style=\"color:black;\">1<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:#8000ff;\">@databases<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">TOP<\/span>\u00a0<span style=\"color:black;\">1<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:#8000ff;\">@databases<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@query<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">'dbcc\u00a0loginfo\u00a0('<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">''''<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">''')\u00a0'<\/span><\/p>\n<p><span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@dbccloginfo2012<\/span><br \/>\n<span style=\"color:blue;\">EXEC<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@query<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfs<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@@rowcount<\/span><\/p>\n<p><span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:#8000ff;\">@vlfcounts<\/span><br \/>\n<span style=\"color:blue;\">VALUES<\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@dbname<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@vlfs<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">DELETE<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:#8000ff;\">@databases<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:maroon;\">dbname<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@dbname<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:green;\"><i>--while\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">END<\/span><\/p>\n<p><span style=\"color:green;\"><i>--output\u00a0the\u00a0full\u00a0list\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">vlfcount<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:#8000ff;\">@vlfcounts<\/span><br \/>\n<span style=\"color:blue;\">ORDER<\/span>\u00a0\u00a0<span style=\"color:blue;\">BY<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<\/code><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement:Get the VLF count of all the dbs in a SQL server Instance. Solution:\u00a0 &#8211;variables\u00a0to\u00a0hold\u00a0each\u00a0&#8216;iteration&#8217;\u00a0\u00a0 DECLARE\u00a0@query\u00a0VARCHAR(100) DECLARE\u00a0@dbname\u00a0SYSNAME DECLARE\u00a0@vlfs\u00a0INT &#8211;table\u00a0variable\u00a0used\u00a0to\u00a0&#8216;loop&#8217;\u00a0over\u00a0databases\u00a0\u00a0[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[23,27],"tags":[90,188,189,190],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/953"}],"collection":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=953"}],"version-history":[{"count":0,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/953\/revisions"}],"wp:attachment":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}