sql >> データベース >  >> RDS >> Sqlserver

SQLServerコレクションインベントリスクリプト-2

    こんにちは、

    SQL Serverデータベースに初めて接続するときに、SQLServerのすべてのインベントリを学習する必要があります。

    このSQLServerデータベースインベントリは、次の情報で構成されています。

    • マシン名
    • インスタンス名
    • データベースログの合計サイズ
    • 使用されたデータベースログの合計
    • データベースデータファイルの合計サイズ
    • 製品バージョン
    • 製品レベル
    • SQL Server Edition
    • 所有者

    クエリは次のようなものです。SQLServerデータベースに初めて接続するときに、作業が非常に簡単になります。

    select getdate() Date_Collected
    	  ,serverproperty('MachineName') 'Machine_Name'
    	  ,isnull(serverproperty('InstanceName'),'mssqlserver') 'Instance_Name'
    	  ,@@SERVERNAME 'Sql_Server_Name'
    	  ,SERVERPROPERTY('productversion') Product_Version 
    	  ,SERVERPROPERTY ('productlevel') Product_Level 
    	  ,SERVERPROPERTY ('edition') 'Edition'
    	  ,d.name 'database_name'
    	  ,suser_sname(d.owner_sid) 'owner'
    	  ,ls.cntr_value as [log_size_kb]
    	  ,lu.cntr_value as [log_used_kb]
    	  ,lp.cntr_value as [percent_log_used]
    	  ,ds.cntr_value as [data_files_size_kb]
    from sys.databases d
    	 left outer join sys.dm_os_performance_counters as lu on lu.instance_name=d.name and lu.counter_name like N'Log File(s) Used Size (KB)%'
    	 left outer join sys.dm_os_performance_counters as ls on ls.instance_name=d.name and ls.counter_name like N'Log File(s) Size (KB)%' and ls.cntr_value > 0
    	 left outer join sys.dm_os_performance_counters as lp on lp.instance_name=d.name and lp.counter_name like N'Percent Log Used%'
    	 left outer join sys.dm_os_performance_counters as ds on ds.instance_name=d.name and ds.counter_name like N'Data File(s) Size (KB)%'
    order by d.name;


    1. SQL Serverを使用して、空のスペースをnull値に変換するにはどうすればよいですか?

    2. SQLiteでのDateTime()関数のしくみ

    3. MySQLの数値に先行ゼロを追加する方法

    4. バッチモードの正規化とパフォーマンス