0
A
回答
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"]);
}
}
}
}
您可以谷歌爲你想要的其他信息的查詢字符串。
0
創建一個SqlConnection
到您的數據庫並打開連接。
SqlConnection conn = new SqlConnection("Data Source=Servername;Initial Catalog=Marketing;Integrated Security=SSPI");
conn.Open();
創建SqlCommand
並分配給CommandText
SQL您需要的值。
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
2
傑森的答案以上是好的,但更普遍。你正在尋找Information Schema。維基百科條目:
相關問題
- 1. 核心數據以編程方式訪問Z_PRIMARYKEY的Z_MAX數據
- 2. 如何以編程方式訪問EntityDataSource中的數據
- 3. 如何以編程方式訪問DataTemplate的關聯數據類型?
- 4. 以編程方式編輯SQLite數據庫中的數據
- 5. SAPUI5:如何以編程方式訪問ODataModel數據?
- 6. 如何以編程方式訪問剪貼板數據?
- 7. Silverlight和Blend - 如何以編程方式訪問示例數據?
- 8. 以編程方式刷新數據庫?
- 9. 以編程方式創建數據庫
- 10. Primefaces:以編程方式訪問數據表的行
- 11. 以編程方式訪問ASP.NET 2.0轉發器中的數據
- 12. 以編程方式訪問WPF中的數據模板控件
- 13. 如何以編程方式創建新的Mongo數據庫?
- 14. VoltDB:如何以編程方式啓動或編譯數據庫?
- 15. 如何以編程方式獲取當前數據庫模式
- 16. 如何以編程方式將數據從數據庫導出爲.csv格式?
- 17. 在訪問以編程方式創建的數據庫之前等待?
- 18. 訪問Visual Studio數據庫項目架構編程方式
- 19. 以編程方式向數據庫添加數據表VB.NET
- 20. 如何以編程方式訪問Android中的持久數據路徑?
- 21. 如何動態或以編程方式創建JDBC數據源和訪問數據庫文件
- 22. 訪問數據庫關係
- 23. 以編程方式訪問圖表源數據名稱
- 24. 以編程方式從android設備訪問服務器數據
- 25. Amazon S3以編程方式訪問使用情況數據
- 26. Membership.ValidateUser方法如何訪問數據庫?
- 27. 需要有關訪問數據庫
- 28. 如何以編程方式創建sqlite數據庫?
- 29. 如何以編程方式更新數據庫表格?
- 30. 如何在SQL Server中以編程方式創建數據庫?