系统视图,系统表,系统存储过程的使用
系统视图,系统表,系统存储过程的使用 获取数据库中用户表信息 1、获取特定库中所有用户表信息 select * from sys.tables select * from sys.objects where type=U --用户表 第二条语句中当type=S时是系统表 2、获取表的字段信息 select * from sys.columns
系统视图,系统表,系统存储过程的使用
获取数据库中用户表信息
1、获取特定库中所有用户表信息
select * from sys.tables
select * from sys.objects where type='U' --用户表
第二条语句中当type='S'时是系统表
2、获取表的字段信息
select * from sys.columns where object_id=object_id('表名')
select * from syscolumns where id=OBJECT_ID('表名' )
3、获取当前库中表的字段及类型信息
(1)select '字段名'=a.name,
'类型名'=b.name,
'字段长度'=a.max_length,
'参数顺序'=a.column_id
from sys.columns a left join sys.types b
on a.user_type_id=b.user_type_id
where object_id=object_id('表名')
syscolumns与sys.columns表用法类似。
获取索引或主键信息
获取对象及对应的索引的信息
select '对象名'=A.name,
'对象类型'=a.type,
'索引名'=B.name,
'索引类型'=case b.type when 1 then '聚集索引'
when2 then '非聚集索引'
when3 then 'xml索引'
else'空间索引' end,
'主键否'=case when b.is_primary_key=1 then '主键'
else'' end
FROM sys.objects A JOIN sys.indexes B ON A.object_id=B.object_id
WHERE A.type='U' AND B.name IS NOT NULL order by a.name
获取表的主键及对应的字段
(1)select '表名'=d.name ,'主键名'=a.name,'字段名'=c.name
from sys.indexes a join sys.index_columns b
on a.object_id=b.object_id and a.index_id=b.index_id
join sys.columns c on a.object_id=c.object_id and
c.column_id=b.column_id
join sys.objects d on d.object_id=c.object_id
where a.is_primary_key=1
(2)SELECT '表名'=OBJECT_NAME(b.parent_obj),
'主键名'=c.name,
'字段名'=a.name
FROM syscolumns a,sysobjects b,sysindexes c,sysindexkeys d
WHERE b.xtype = 'PK' AND b.parent_obj = a.id AND c.id = a.id
AND b.name =c.name AND d.id = a.id
AND d.indid = c.indid AND a.colid = d.colid
(3)select '所属架构'=s.name ,
'表名'=t.name,
'主键名'=k.name ,
'列名'=c.name,
'键列序数'=ic.key_ordinal
from sys.key_constraints as k
join sys.tables as t
on t.object_id = k.parent_object_id
join sys.schemas as s
on s.schema_id = t.schema_id
join sys.index_columns as ic
on ic.object_id = t.object_id
and ic.index_id = k.unique_index_id
join sys.columns as c
on c.object_id = t.object_id
and c.column_id = ic.column_id where k.type = 'pk';
(4)使用系统存储过程获取指定表的主键信息
EXEC sp_pkeys '表名' --表名只能是当前数据库下的单独表名不能带上架构名
查询哪些表创建了主键
select '表名'=a.name from
(select name,object_id from sys.objects where type='u') a
left join
sys.indexes b
on a.object_id=b.object_id and b.is_primary_key=1
where b.name is not null
注:查询哪些表没有创建主键,将where条件改成 is null 即可。
查找视图信息
查看视图属性信息
exec sp_help '视图名'
查看创建视图脚本
exec sp_helptext '视图名'
查看当前数据库所有视图基本信息
select * from sys.views
select * from sys.objects where type='V'
select * from INFORMATION_SCHEMA.VIEWS
查看视图对应的字段及字段属性
select '视图名'=a.name,
'列名'=b.name,
'字段类型'=TYPE_NAME(b.system_type_id),
'字段长度'=b.max_length
from sys.views a join sys.columns b
on a.object_id=b.object_id order by a.name
获取视图中的对象信息
exec sp_depends '视图名'
查看存储过程信息
1、基本信息
select * from sys.procedures
select * from sys.objects where type='P'
2、查看存储过程创建文本
sp_helptext 存储过程名称
select text from syscomments where id=object_id (存储过程名称)
3、查看存储过程的参数信息
(1)select '参数名称' = name,
'类型' = type_name(xusertype),
'长度' = length,
'参数顺序' = colid
from syscolumns
where id=object_id(存储过程名称)
(2)select '参数名称' = name,
'类型' = type_name(system_type_id),
'长度' = max_length,
'参数顺序' =parameter_id
from sys.parameters
where object_id=object_id(存储过程名称)
返回当前环境中可查询的指定表或视图的列信息。
exec sp_columns 表名
select * from sys.columns where object_id=OBJECT_id(表名)
select * from sys.syscolumns where id=OBJECT_ID(表名)
select * from information_schema.columns where TABLE_NAME=表名
查询存储过程或函数的参数的详细信息
select * from sys.parameters where object_id=object_id(函数或存储过程名称)
获取所有数据库信息
1、获取数据库的基本信息
select name from sysdatabases order by name
2、获取某个数据库的文件信息
select * from [数据库名].[架构名].sysfiles
3、获取数据库磁盘使用情况
exec sp_spaceused
4、获取数据库中表的空间使用情况
IF OBJECT_ID('tempdb..#TB_TEMP_SPACE') IS NOT NULL DROP TABLE #TB_TEMP_SPACE
GO
CREATE TABLE #TB_TEMP_SPACE(
NAME VARCHAR(500)
,ROWS INT
,RESERVED VARCHAR(50)
,DATA VARCHAR(50)
,INDEX_SIZE VARCHAR(50)
,UNUSED VARCHAR(50)
)
GO
SP_MSFOREACHTABLE 'INSERT INTO #TB_TEMP_SPACE execsp_spaceused ''?'''
GO
SELECT *
FROM #TB_TEMP_SPACE
ORDER BY REPLACE(DATA,'KB','')+0 DESC
获取触发器的相关信息
1、查看触发器定义及相关属性信息
(1)exec sp_help '触发器名'
(2)查看表中指定类型的触发器的属性信息
exec sp_helptrigger ['表名'][,['触发器类型']]
--参数2可选,省略参数2时返回该表中所有类型的触发器属性
2、获取触发器的创建脚本
exec sp_helptext '触发器名'
3、查看表中禁用的触发器
select name from sys.triggers where parent_id=object_id('表名') and is_disabled=1
注:is_disabled=0时为启用的触发器。
4、获取触发器的父类名,触发器名,触发器状态和触发器类型信息
select '父类名'=a.name,
'对象类型'=a.type,
'触发器名'=b.name,
'触发器状态'=case when b.is_disabled=1 then'禁用' else '启用'end,
'触发器类型'=case when b.is_instead_of_trigger=1 then 'instead of' else 'after' end
from sys.objects a join sys.triggers b on a.object_id=b.parent_id
注:查询单个表或视图的触发器信息加上a.object_id=object_id(表名)条件。
5、禁用和启用触发器命令
禁用:alter table表名disable trigger触发器名
启用:alter table表名enable trigger触发器名
注:禁用或启用多个触发器,触发器名之间用逗号隔开
禁用或启用表中全部触发器,将触发器名换成ALL。
6、指定第一个或最后一个触发的after触发器。
exec sp_settriggerorder '触发器名', '执行顺序', '触发事件'
查询触发触发器的对应事件
select * from sys.trigger_events where object_id=object_id('触发器名')
7、重命名触发器
exec sp_rename 旧名,新名
SQL语句创建登录名,数据库用户,数据库角色及分配权限
使用到的存储过程解释说明:
sp_addlogin 新增登录账号存储过程
语法:sp_addlogin [@loginame = ] 'login' --登录名
[ , [ @passwd = ] 'password' ] -–登录密码
[ , [ @defdb = ] 'database' ] --默认数据库
[ , [ @deflanguage = ]'language' ] --默认语言
[ , [ @sid = ] sid ] --安全标识号
[ , [ @encryptopt= ]'encryption_option' ] –密码传输方式
sp_grantlogin 创建sql server 登录名
语法:sp_addlogin [ @loginame = ] 'login' --登录名
sp_droplogin 删除登录帐号存储过程
语法:sp_droplogin [@loginame = ] 'login' --登录名
sp_grantdbaccess 将数据库用户添加到当前数据库
语法:sp_grantdbaccess [@loginame = ] 'login' --登录名
[ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ]] --数据库用户名
sp_addrole 创建数据库角色
语法:sp_addrole [ @rolename = ] 'role' –角色名
[ , [ @ownername = ] 'owner' ] --角色所有者
sp_addrolemember 为角色添加成员
语法:sp_addrolemember [ @rolename = ] 'role', --角色名
[ @membername = ] 'security_account' --成员用户
sp_droprolemember 删除角色成员
sp_helprole [ [ @rolename = ] 'role' ]
返回当前数据库中有关角色的信息
1、创建登录名
(1)exec sp_addlogin '登录名','密码','默认数据库'
(2)create login 登录名 with password='密码',default_database=默认数据库
2、为指定登录名为创建指定数据库上的用户
use 指定数据库
(1)execute sp_grantdbaccess '登录名','用户'
(2)create user 用户名 for login 登录名
3、授予用户拥有表的权限
grant 权限 on 对象 to 用户
4、添加数据库角色
execute sp_addrole '角色名'
create role 角色名 authorization 拥有新角色的数据库用户或角色
5、添加角色的成员
execute sp_addrolemember '角色名','用户名'
6、设置角色拥有对象的权限
grant 权限 on 对象名 to 角色名
--=================================================================
创建用户并分配权限
--新增登录名
create login administor with password='123',default_database=Mail
--新增用户
use Mail
create user admins for login administor
--为用户分配权限
grant select on A_Area to admins
--取消分配的权限
revoke select on A_Area to admins
--新增角色
create role ins
--为角色分配权限
grant select on A_MailZT to ins with grant option
--删除角色对表A_MailZT的查询权限
revoke select on a_mailzt to ins CASCADE
--添加角色ins成员admins
exec sp_addrolemember 'ins','admins'
--删除角色ins成员admins
exec sp_droprolemember 'ins','admins'
--删除角色
drop role ins --必须先删除角色中所有成员
--删除用户
drop user admins
--删除登录账户
drop login administor
--==================================================================
查看数据库关于权限的信息
--查询当前数据库角色信息
exec sp_helprole 角色名
--提供有关每个数据库中的登录及相关用户的信息
exec sp_helplogins 登录名
--报告有关当前数据库中数据库级主体的信息。
exec sp_helpuser 当前数据库用户或角色名
--返回有关当前数据库中某个角色的成员的信息
exec sp_helprolemember 角色名
--返回SQLServer 固定服务器角色的列表
exec sp_helpsrvrole 固定服务器角色名
sql数据库批量分配权限
declare @sql varchar(max)=''
select @sql=@sql+'grant insert on '+ name + ' to admins '+CHAR(10) from sysobjects where name like 'a_%'
exec (@sql)
????如何创建windows用户登录????
备份和还原数据库
1、创建备份设备
sp_addumpdevice [ @devtype = ] 'device_type' --备份设备类型
, [@logicalname = ] 'logical_name' --备份设备逻辑名称
, [@physicalname = ] 'physical_name' –物理名称
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'd:\dump1.bak';
注:添加逻辑名为mydiskdump物理名为dump1.bak 的disk类型的备份设备
2、删除备份设备
sp_dropdevice [ @logicalname = ] 'device' --备份设备逻辑名称
[ , [ @delfile = ] 'delfile' ] --指定物理备份设备文件是否应删除
exec sp_dropdevice 'mydiskdump','delfile';
注:参数'delfile'不选时只将备份设备的逻辑名从数据库引擎中删除,并删除对应master..sysdevices表中的项。有参数时会同时删除对应的物理备份设备的文件。
查询数据库引擎中备份设备的信息
select * from master..sysdevices
select * from sys.backup_devices
备份数据库
backup database mail to disk=备份文件
backup database 数据库名 to 备份设备
数据恢复
数据库快照恢复
----------------------------------创建数据库DemoDB
create database DemoDB
on primary
(name='DemoDB_data',filename='d:\Demodb_log.mdf',size=5MB,maxsize=10MB)
log on
(name='DemoDB_log',filename='d:\Demodb_log.ldf',size=2MB,maxsize=10MB)
go
-------------------------------------在DemoDB创建数据表T1和T2
use DemoDB
create table T1(id int,name char(8),address char(13))
go
create table T2(id int,name char(8),address char(13))
go
---------------------------------------在DemoDB数据库的T1和T2插入数据
use DemoDB
Insert into T1 values(1,'jacky','suzhou')
Insert into T1 values(2,'Hellen','shanghai')
Insert into T2 values(1,'Tom','beijing')
Insert into T2 values(2,'Alice','hangzhou')
Go
--------------为DemoDB数据库创建数据库快照DemoDB_dbsnapshot_200510201600
create database DemoDB_dbsnapshot_200510201600
on
(name='DemoDB_data',filename='d:\DemoDB_dbsnapshot_201203091700.mdf')
as snapshot of DemoDB
go
----------------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB_dbsnapshot_200510201600
select * from dbo.T1
select * from dbo.T2
go
use DemoDB --在数据库中查看表T1和T2
select * from dbo.T1
select * from dbo.T2
go
---------------------------------------------在数据库中修改T1和T2
use DemoDB
update T1
set name='Tony' where id=1 --在DemoDB中更新数据
go
delete from T1 where id=2 --在DemoDB中删除数据
go
drop Table T2 --删除T2表
go
------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB_dbsnapshot_200510201600
select * from T1
select * from T2
go
use DemoDB
select * from T1
select * from T2
go
------------------使用数据库快照还原在DemoDB数据库的T1表误删除和更新的数据
update DemoDB.dbo.T1
set name=(select name from DemoDB_dbsnapshot_200510201600.dbo.T1 where id=1) where id=1
go
insert into DemoDB.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1 where id=2
go
----------------------------使用数据库快照还原在DemoDB数据库误删除的T2表
use DemoDB
--复制进剪贴板中的创建T2的语句
go
select *into DemoDB.dbo.T2 from DemoDB_dbsnapshot_200510201600.dbo.T2
go
------------------------------------在数据库快照和数据库中查询T1和T2表
use DemoDB
select * from T1
select * from T2
go
use DemoDB_dbsnapshot_200510201600
select * from T1
select * from T2
go
------------------------------------------
--注:如果需要周期创建快照,可以创建作业
------------------------------------------在DemoDB中更新数据
use DemoDB
update T1 set name='Funny' where id=1
go
-----------------------------------------数据库快照和数据库中查询T1和T2表
select * from Demodb.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T2
----------------------------------------在DemoDB中更新数据
use DemoDB
update T1 set name='Bob' where id=1
go
----------------------------------数据库快照和数据库中查询T1和T2表
select * from Demodb.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T2
-----------------------------------------------
/*使用数据库快照还原整个数据库*/
-------------------------------------------使用数据库快照恢复DemoDB数据库
use master
restore Database DemoDB from Database_snapshot='DemoDB_dbsnapshot_200510201600'
-------------------------------------------
select * from DemoDB.dbo.T1
select * from DemoDB_dbsnapshot_200510201600.dbo.T1
-------------------------------------------
use master
drop database DemoDB_dbsnapshot_200510201600 --删除数据库快照
drop Database DemoDB --删除数据库
转载自:http://wenku.baidu.com/link?url=2TnLqDON6Lv_xY9j800t98axR_wswnGCepl8SPeMaaDtaKSSJKFXaR4Z2M0DS3Fd1udxmKLEkN7zX5kC79tUr1l6BU4p5uho5a3KszdrdbK

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La multiplication matricielle générale (GEMM) est un élément essentiel de nombreuses applications et algorithmes, et constitue également l'un des indicateurs importants pour évaluer les performances du matériel informatique. Une recherche approfondie et l'optimisation de la mise en œuvre de GEMM peuvent nous aider à mieux comprendre le calcul haute performance et la relation entre les systèmes logiciels et matériels. En informatique, une optimisation efficace de GEMM peut augmenter la vitesse de calcul et économiser des ressources, ce qui est crucial pour améliorer les performances globales d’un système informatique. Une compréhension approfondie du principe de fonctionnement et de la méthode d'optimisation de GEMM nous aidera à mieux utiliser le potentiel du matériel informatique moderne et à fournir des solutions plus efficaces pour diverses tâches informatiques complexes. En optimisant les performances de GEMM

CrystalDiskMark est un petit outil de référence pour disques durs qui mesure rapidement les vitesses de lecture/écriture séquentielles et aléatoires. Ensuite, laissez l'éditeur vous présenter CrystalDiskMark et comment utiliser crystaldiskmark~ 1. Introduction à CrystalDiskMark CrystalDiskMark est un outil de test de performances de disque largement utilisé pour évaluer la vitesse et les performances de lecture et d'écriture des disques durs mécaniques et des disques SSD (SSD). ). Performances d’E/S aléatoires. Il s'agit d'une application Windows gratuite qui fournit une interface conviviale et divers modes de test pour évaluer différents aspects des performances du disque dur. Elle est largement utilisée dans les revues de matériel.

Le 29 juillet, lors de la cérémonie de lancement de la 400 000e nouvelle voiture d'AITO Wenjie, Yu Chengdong, directeur général de Huawei, président de Terminal BG et président de la BU Smart Car Solutions, a assisté et prononcé un discours et a annoncé que les modèles de la série Wenjie seraient sera lancé cette année En août, la version Huawei Qiankun ADS 3.0 a été lancée et il est prévu de pousser successivement les mises à niveau d'août à septembre. Le Xiangjie S9, qui sortira le 6 août, lancera le système de conduite intelligent ADS3.0 de Huawei. Avec l'aide du lidar, la version Huawei Qiankun ADS3.0 améliorera considérablement ses capacités de conduite intelligente, disposera de capacités intégrées de bout en bout et adoptera une nouvelle architecture de bout en bout de GOD (identification générale des obstacles)/PDP (prédictive prise de décision et contrôle), fournissant la fonction NCA de conduite intelligente d'une place de stationnement à l'autre et mettant à niveau CAS3.0

foobar2000 est un logiciel qui peut écouter des ressources musicales à tout moment. Il vous offre toutes sortes de musique avec une qualité sonore sans perte. La version améliorée du lecteur de musique vous permet d'obtenir une expérience musicale plus complète et plus confortable. lire l'audio avancé sur l'ordinateur. L'appareil est transplanté sur le téléphone mobile pour offrir une expérience de lecture de musique plus pratique et efficace. La conception de l'interface est simple, claire et facile à utiliser. opérations pour démarrer rapidement. Il prend également en charge une variété de skins et de thèmes, personnalisez les paramètres en fonction de vos propres préférences et créez un lecteur de musique exclusif prenant en charge la lecture de plusieurs formats audio. Il prend également en charge la fonction de gain audio pour régler le volume. selon vos propres conditions auditives pour éviter les dommages auditifs causés par un volume excessif. Ensuite, laisse-moi t'aider

NetEase Mailbox, en tant qu'adresse e-mail largement utilisée par les internautes chinois, a toujours gagné la confiance des utilisateurs grâce à ses services stables et efficaces. NetEase Mailbox Master est un logiciel de messagerie spécialement créé pour les utilisateurs de téléphones mobiles. Il simplifie grandement le processus d'envoi et de réception d'e-mails et rend le traitement de nos e-mails plus pratique. Alors comment utiliser NetEase Mailbox Master, et quelles sont ses fonctions spécifiques Ci-dessous, l'éditeur de ce site vous donnera une introduction détaillée, en espérant vous aider ! Tout d’abord, vous pouvez rechercher et télécharger l’application NetEase Mailbox Master dans la boutique d’applications mobiles. Recherchez « NetEase Mailbox Master » dans l'App Store ou Baidu Mobile Assistant, puis suivez les instructions pour l'installer. Une fois le téléchargement et l'installation terminés, nous ouvrons le compte de messagerie NetEase et nous connectons. L'interface de connexion est la suivante

Le stockage cloud est devenu aujourd’hui un élément indispensable de notre vie quotidienne et de notre travail. En tant que l'un des principaux services de stockage cloud en Chine, Baidu Netdisk a gagné la faveur d'un grand nombre d'utilisateurs grâce à ses puissantes fonctions de stockage, sa vitesse de transmission efficace et son expérience de fonctionnement pratique. Et que vous souhaitiez sauvegarder des fichiers importants, partager des informations, regarder des vidéos en ligne ou écouter de la musique, Baidu Cloud Disk peut répondre à vos besoins. Cependant, de nombreux utilisateurs peuvent ne pas comprendre l'utilisation spécifique de l'application Baidu Netdisk, ce didacticiel vous présentera donc en détail comment utiliser l'application Baidu Netdisk. Si vous êtes toujours confus, veuillez suivre cet article pour en savoir plus ! Comment utiliser Baidu Cloud Network Disk : 1. Installation Tout d'abord, lors du téléchargement et de l'installation du logiciel Baidu Cloud, veuillez sélectionner l'option d'installation personnalisée.

Ce site Web a rapporté le 7 mars que le Dr Zhou Yuefeng, président de la gamme de produits de stockage de données de Huawei, a récemment assisté à la conférence MWC2024 et a spécifiquement présenté la solution de stockage magnétoélectrique OceanStorArctic de nouvelle génération conçue pour les données chaudes (WarmData) et les données froides (ColdData). Zhou Yuefeng, président de la gamme de produits de stockage de données de Huawei, a publié une série de solutions innovantes Source de l'image : Le communiqué de presse officiel de Huawei joint à ce site est le suivant : Le coût de cette solution est 20 % inférieur à celui de la bande magnétique, et son coût est de 20 % inférieur à celui de la bande magnétique. la consommation électrique est 90 % inférieure à celle des disques durs. Selon les médias technologiques étrangers blockandfiles, un porte-parole de Huawei a également révélé des informations sur la solution de stockage magnétoélectrique : le disque magnétoélectronique (MED) de Huawei est une innovation majeure dans le domaine des supports de stockage magnétiques. ME de première génération

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension
