1. 程式人生 > >SQL獲取所有使用者名稱,資料庫名、所有表名、所有欄位名及欄位型別

SQL獲取所有使用者名稱,資料庫名、所有表名、所有欄位名及欄位型別

1.獲取所有使用者名稱:
SELECT name FROM Sysusers
where status='2' and islogin='1'
islogin
='1'表示帳戶
islogin
='0'表示角色
status
='2'表示使用者帳戶
status
='0'表示糸統帳戶
2.獲取所有資料庫名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
3.獲取所有表名
SELECT Name FROM DatabaseName..SysObjects Where XType
='U' ORDER BY Name
XType
='U':表示所有使用者表;
XType
='S'

:表示所有系統表;
4.獲取所有欄位名:
SELECT Name FROM SysColumns WHERE id
=Object_Id('TableName')
5.獲取資料庫所有型別
select name from systypes
6.獲取主鍵欄位
SELECT   name FROM SysColumns WHERE id
=Object_Id('表名') and colid=(select top 1 keyno from sysindexkeys where id=Object_Id('表名'))

7、獲取欄位型別

select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('表名') and a.xtype=b.xtype
或者可以通過儲存過程
exec sp_help 表名

8、取表結構

select column_name,data_type,character_maximum_length from information_schema.columns where table_name = '表名'

/****************************************************************************************************************************/

/*--獲取連線SQL伺服器的資訊

所有連線本機的:操作的資料庫名,計算機名,使用者名稱,網絡卡實體地址,IP地址,程式名

--鄒建 2003.11(引用請保留此資訊)--*/

/*--呼叫示例
--顯示所有本機的連線資訊
exec p_getlinkinfo

--顯示所有本機的連線資訊,包含ip地址
exec p_getlinkinfo @includeip=1

--顯示連線指定資料庫的資訊
exec p_getlinkinfo '客戶資料'
--*/
create proc p_getlinkinfo
@dbname sysname=null, --要查詢的資料庫名,預設查詢所有資料庫的連線資訊
@includeip bit=0 --是否顯示IP地址,因為查詢IP地址比較費時,所以增加此控制
as
declare @dbid int
set @dbid=db_id(@dbname)

create table #tb(id int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128))
insert into #tb(hostname,dbname,net_address,loginname,prog_name)
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses
where hostname<>'' and (@dbid is null or

[email protected])

if @includeip=0 goto lb_show --如果不顯示IP地址,就直接顯示

declare @sql varchar(500),@hostname nchar(128),@id int
create table #ip(hostname nchar(128),a varchar(200))
declare tb cursor local for select distinct hostname from #tb
open tb
fetch next from tb into @hostname
while @@fetch_status=0
begin
set @sql='ping '[email protected]+' -a -n 1 -l 1'
insert #ip(a) exec master..xp_cmdshell @sql
update #ip set [email protected] where hostname is null
fetch next from tb into @hostname
end

update #tb set net_ip=left(a,patindex('%:%',a)-1)
from #tb a inner join (
select hostname,a=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip
where a like 'Ping statistics for %:%') b on a.hostname=b.hostname

lb_show:
select   id,dbname as '資料庫名',hostname as '客戶機名',loginname as '使用者名稱'  
,net_address as '網絡卡實體地址',net_ip as 'IP地址',prog_name as '應用程式名稱'   from   #tb

go  

相關推薦

SQL Server查看所有大小行數和占用空間信息

add nvarchar 包含 desc cut ack sed dealloc har 一、查看表名和對應的數據行數select a.name as ‘表名‘,b.rows as ‘表數據行數‘from sysobjects a inner join sysindexe

SQL Server基礎(一) VS2015 建立資料:建修改名字中新增資料查詢表,最後是資料庫檔案的屬性

VS2015 建立資料表流程 1、右擊表,建立資料表——設定主鍵 2、修改資料的名字為Inventory 3、新增資料 4、右擊資料庫庫——新建查詢,輸入SQL語法,就可以查詢表的資料了 往表中新增一行,重新查詢。你會發現,表名字不區分大小。

Oracle 匯入資料庫 刪除使用者刪除空間刪除空間下所有,檢視當前空間

匯入資料庫 在cmd下用 imp匯入  格式: imp userName/passWord file=bmp檔案路徑 ignore = y (忽略建立錯誤)full=y(匯入檔案中全部內容); 例: imp DISASTERV2/DISASTERV2 file=C:\Use

使用Mycat實現Mysql資料庫的主從複製讀寫分離分庫負載均衡和高可用

Mysql叢集搭建 使用Mycat實現Mysql資料庫的主從複製、讀寫分離、分表分庫、負載均衡和高可用(Haproxy+keepalived),總體架構:   說明:資料庫的訪問通過keepalived的虛擬IP訪問HAProxy負載均衡器,實現HAProxy的高可用,HAProxy用於實

Linux資料庫管理——day4——多查詢phpMyAdmin管理工具修改資料庫使用者密碼使用者授權

複製表     主要作用:  備份表 、 快速建表     語法: create table 表名 SQL查詢語句 # 備份一個表的所有資料 create table 表名 select * from 被備份的表; # 以一個表的表結構為模型建立一個新表,但不要資料 cr

oracle建立空間刪除空間修改空間名稱

-----oracle建立表空間的方法 create  tablespace dragon  --dragon為建立的表空間名稱 bagfile/smallfile代表建立 datafile 'D:\dragon.dbf'  --D:\dragon.dbf為資料檔名稱和 存放的地址 size 100M r

建立資料庫,然後建立空間建使用者授權用IMP匯入DMP檔案

1.最近做專案,要匯入Oracle的dmp檔案,很多年前用過oracle,該用的技術隨著時間都忘記的差不多了,現在標記在此,以免再次遇到同樣的問題而感到無措。 匯入dmp檔案,需要知道這個dmp檔案建立的使用者。因此需要先建立使用者,並授權給它。 (1)使用者的建立 首先,以system使用者登入Orac

PL/SQL---建立使用者指定空間授權。

1、建立表空間 create tablespace tablespace_name logging  datafile 'F:\app\tablespace_name.dbf'  size 200m 

通過sql語句快速查詢資料庫共有多少張

一、無條件查詢:select * from tab  order by tname 二、過濾查詢:select * from tab where tname not like '%$%' or

Oracle總結【SQL細節查詢分組查詢分頁】

前言 在之前已經大概瞭解過Mysql資料庫和學過相關的Oracle知識點,但是太久沒用過Oracle了,就基本忘了…印象中就只有基本的SQL語句和相關一些概念….寫下本博文的原因就是記載著Oracle一些以前沒注意到的知識點…以後或許會有用… 例項與資料

查詢postgresql資料庫所有中的所有包含一個字串

    宣告:不是通過sql語句查出來的,是藉助Navicat資料庫管理功能實現的. 具體操作如下: 開啟navicat資料庫管理工具,找到你要操作的資料庫,右鍵模式下的表 單擊在模式中查詢 看到

AE二次開發中幾個功能速成歸納(符號設計器創建要素圖形編輯屬性編輯緩沖區分析)

文件夾路徑 及其 基本框架 option 開啟 rgs database ets remove /* * 實習課上講進階功能所用文檔,因為趕時間從網上抄抄改改,湊合能用,記錄一下以備個人後用。 * * --------------------------------

oracle創建用戶空間臨時空間分配權限步驟詳解

分配權限 use 表數據 依次 log auto create 過程 limit 首先登陸管理員賬號,或者有DBA權限的用戶,接下來依次: --查詢所有用戶select * from dba_users;--創建新用戶create user gpmgt identified

Mysql(三)-數據導入,導出管理記錄條件匹配查詢方式

數據導入導出、管理表記錄、條件匹配##############################################################################################一、數據導入:把系統文件內容存儲到數據庫的表裏命令:load data infile &

數據導入導出管理記錄

連接 lin ima 工資 creat BE 分隔 ali for 數據導入: 把系統文件的內容存儲到數據庫服務器的表裏load data infile “目錄名/文件名” into table 庫名.表名FIELDS TERMINATED BY “分隔符

Hibernate_day04---HQL查詢QBC查詢查詢檢索策略批量抓取

一、Hibernate查詢方式及結果存放 查詢方式(五種) 1)物件導航查詢 :一對多中,查詢某個"一"對應的所有"多" 2)OID查詢: 根據id查詢某一條記錄,返回物件 3)HQL查詢: 使用Query物件,內建hql語句實現查詢。 4)QBC查詢:使用Criter

連結串列實現學生資訊(含輸入輸出計算查詢插入刪除等功能)

連結串列實現學生資訊表(含輸入、輸出、計算表長、查詢、插入、刪除等功能) #include <stdio.h> #include <stdlib.h> void menu() { printf("make your choice \n"); pr

oracle一個建立使用者建立空間授權的完整過程

<轉載> 原文地址: http://skyuck.iteye.com/blog/847859 1.首先我們可以用scott使用者以sysdba的身份登入oracle. Sql程式碼   conn scott/tiger as sysdba 

複製複製結構複製資料

完全複製表(含表結構+表資料)  create  table   新表名  as  select * from  需要複製的表名;    複製表部分欄位和資料  CREATE TABLE   新表名(列

使用js實現5種加密解密演算法(凱撒密碼字母倒排序置換維基利亞轉換加密演算法)

在學習作業系統的時候,我們會學到系統安全的章節,而在這一塊會有關於加密解密演算法的學習。 一共有5種常見的加密解密演算法:凱撒密碼、字母倒排序、單表置換、維基利亞、轉換加密演算法。  我使用了js實現了這5種演算法,而且做了視覺化處理、輸入輸出格式化處理,使得操作起來非常