2011-01-21 7 views

答えて

1

あなただけの接続を開き、データベースを照会することができます

using(var connection = new SqlConnection(connectionString)) { 
    connection.Open(); 
    using(var command = connection.CreateCommand()) { 
     command.CommandText = "SELECT * FROM SYS.TABLES"; 
     using(var reader = command.ExecuteReader()) { 
      while(reader.Read()) { 
       Console.WriteLine(reader["name"]); 
      } 
     } 
    } 
} 

あなたはできるGoogleしたいその他の情報のためのクエリ文字列のために。

0

データベースにSqlConnectionを作成し、接続を開きます。

SqlConnection conn = new SqlConnection("Data Source=Servername;Initial Catalog=Marketing;Integrated Security=SSPI"); 
conn.Open(); 

SqlCommandを作成し、必要なSQLの値にCommandTextを割り当てます。

SqlCommand cmd = new SqlCommand("PLACE SQL HERE", conn); 

テーブルと行数:

SELECT 
    [TableName] = so.name, 
    [RowCount] = MAX(si.rows) 
FROM 
    sysobjects so, 
    sysindexes si 
WHERE 
    so.xtype = 'U' 
    AND 
    si.id = OBJECT_ID(so.name) 
GROUP BY 
    so.name 
ORDER BY 
    2 DESC 

使用スペース:

EXEC sp_spaceused 'tablename' 
0

このスクリプトは、スキーマ名が含まれていませんが、あなたは現在のために必要な情報のほとんどを取得しますデータベース。私はあなたがストアドプロシージャにそれを適応させることができると確信しています。

SET NOCOUNT ON 
GO 
DECLARE @tblSpaceUsed TABLE 
(
    [name] sysname NOT NULL, 
    [rows] int NOT NULL, 
    [reserved] nvarchar(50) NOT NULL, 
    [reservedKB] int NULL, 
    [data] nvarchar(50) NOT NULL, 
    [dataKB] int NULL, 
    [index] nvarchar(50) NOT NULL, 
    [indexKB] int NULL, 
    [unused] nvarchar(50) NOT NULL, 
    [unusedKB] int NULL 
) 

DECLARE @tableName sysname 
DECLARE @tableNames CURSOR 

SET @tableNames = CURSOR 
FAST_FORWARD 
FOR 
SELECT DISTINCT 
    ss.name + '.' + st.name 
FROM 
    sys.tables st 
    INNER JOIN 
    sys.schemas ss 
     ON st.schema_id = ss.schema_id 

OPEN @tableNames 
FETCH NEXT FROM @tableNames INTO @tableName 

WHILE @@FETCH_STATUS = 0 
BEGIN 
    INSERT INTO @tblSpaceUsed ([name], [rows], [reserved], [data], [index], [unused]) EXEC sp_spaceused @tableName 

    FETCH NEXT FROM @tableNames INTO @tableName 
END 

CLOSE @tableNames 

UPDATE 
    @tblSpaceUsed 
SET 
    [reservedKB] = CONVERT(int, LEFT([reserved], LEN([reserved]) - 3)), 
    [dataKB] = CONVERT(int, LEFT([data], LEN([data]) - 3)), 
    [indexKB] = CONVERT(int, LEFT([index], LEN([index]) - 3)), 
    [unusedKB] = CONVERT(int, LEFT([unused], LEN([unused]) - 3)) 

SELECT 
    * 
FROM 
    @tblSpaceUsed 
関連する問題