C 獲取所有SQL Server資料庫名稱的方法

2021-07-11 07:29:21 字數 1210 閱讀 4628

連線到master庫中,執行 select name from master..sysdatabases 。

sp_helpdb也可以列出資料名,但不是全部,sp_helpdb是會根據當前使用者角色找出相應的資料庫,而用sysdatabases表則只要有許可權訪問該錶就能查出所有資料庫資訊。

預設情況下,sqlserver提供的6個資料庫中,除了model資料庫外,其他若干個資料庫還可能擁有guest使用者。

exec  sp_helpdb得到的記錄包括:當前使用者擁有訪問許可權的資料庫(包括預設的幾個guest訪問資料庫)。 

任何使用者(只要能連線到sqlserver)查詢master資料庫中的表sysdatabases可以得到所有的資料庫名稱,因為該錶的guest使用者不可刪除。

/// 取所有資料庫名,新增到lvdb

///

///

private arraylist getalldatabase()

;initial catalog=master;user id=;pwd=","(local)","sa","adminwinter"));

datatable dbnametable = new datatable();

sqldataadapter adapter = new sqldataadapter("select name from master..sysdatabases", connection);

lock (adapter)

foreach (datarow row in dbnametable.rows)

return dbnamelist;

}

/// /// 名稱:opendataconn

/// 功能:實現測試連線sql server資料庫

/// 編寫人:

///

/// 資料庫伺服器名稱或ip

/// 資料庫名稱

/// 登陸使用者名稱

/// 登陸密碼

/// 1連線失敗,0連線成功

public static int opendataconn(string servername, string dbname, string userid, string password)

catch

finally

return connresult;

}

C 獲取所有SQL Server的資料庫例項名稱

獲取指定ip位址的資料庫所有資料庫例項名。指定的 ip 位址。登入資料庫的使用者名稱。登陸資料庫的密碼。返回包含資料例項名的列表。private arraylist getalldatabase string ip,string username,string password initial ca...

SQLSERVER中統計所有表的記錄數

sqlserver中統計所有表的記錄數 2009 06 25 17 07 36 分類 linux 曾經試著寫過乙個儲存過程,作用就是刪除所有表的內容,思路是這樣的 首先通過sysobjects表構造乙個sql語句字串 delete 表名 其中表名就是sysobjects中的name列,把這些dele...

如何獲取SQLSERVER所有表的外來鍵關係引數

select 主表名 object name b.rkeyid 主鍵列id b.rkey 主鍵列名 select name from syscolumns where colid b.rkey and id b.rkeyid 外來鍵表id b.fkeyid 外來鍵表名稱 object name b....