SQL语句新建用户、对用户授权、删除用户实例

SQL语句新建⽤户、对⽤户授权、删除⽤户实例USE mydb
GO
--1. 新建测试⽤户
--1.1 添加登录⽤户和密码
EXEC sp_addlogin N'tony','123'
--1.2 使其成为当前数据库的合法⽤户
EXEC sp_grantdbaccess N'tony'
--2.设置操作授权
--2.1 授予对⾃⼰数据库的所有权限
EXEC sp_addrolemember N'db_owner',N'tony'
--2.2 以下是设置具体操作权限
-
活动防盗窗-授予tony对所有⽤户表的操作权限
GRANT SELECT,INSERT,UPDATE,DELETE TO tony
--授予tony SELECT,UPDATE到具体的表
GRANT SELECT,UPDATE ON tb TO tony
--授予tony SELECT,UPDATE到具体的表和列
GRANT SELECT,UPDATE ON tb(id,col)TO tony
--禁⽌tony对所有⽤户表的操作权限
DENY SELECT,INSERT,UPDATE,DELETE TO tony
--禁⽌tony SELECT,UPDATE到具体的表
DENY SELECT,UPDATE ON tb TO tony
--禁⽌tony SELECT,UPDATE到具体的表和列
DENY SELECT,UPDATE ON tb(id,col)TO tony
--删除tony 对所有⽤户表的授权信息
REVOKE SELECT,INSERT,UPDATE,DELETE TO tony
--授予tony对具有创建表、视图、存储过程等的操作权限
GRANT CREATE TABLE,CREATE VIEW,CREATE PROC TO tony床铰
--禁⽌tony对具有创建表、视图、存储过程等的操作权限自动埋钉机
DENY CREATE TABLE,CREATE VIEW,CREATE PROC TO tony
--删除tony对具有创建表、视图、存储过程等的授权信息
REVOKE CREATE TABLE,CREATE VIEW,CREATE PROC TO tony
GO
--注:更多相关授权信息参考后⾯的附表中“数据库权限”列。
-
-3. 删除测试⽤户
EXEC sp_revokedbaccess N'tony'--移除⽤户对数据库的访问权限
EXEC sp_droplogin N'tony'--删除登录⽤户
GO
---------------
附表:
数据库权限数据库权限隐含的权限服务器权限隐含的权限
ALTER CONTROL ALTER ANY DATABASE
ALTER ANY APPLICATION ROLE ALTER CONTROL SERVER
ALTER ANY ASSEMBLY ALTER CONTROL SERVER
ALTER ANY ASYMMETRIC KEY ALTER CONTROL SERVER
ALTER ANY CERTIFICATE ALTER CONTROL SERVER
ALTER ANY CONTRACT ALTER CONTROL SERVER
ALTER ANY DATABASE DDL
TRIGGER
ALTER CONTROL SERVER
ALTER ANY DATABASE EVENT NOTIFICATION ALTER
ALTER ANY EVENT
NOTIFICATION
ALTER ANY DATASPACE ALTER CONTROL SERVER ALTER ANY FULLTEXT
CATALOG
ALTER CONTROL SERVER ALTER ANY MESSAGE TYPE ALTER CONTROL SERVER
ALTER ANY REMOTE SERVICE
BINDING
ALTER CONTROL SERVER ALTER ANY ROLE ALTER CONTROL SERVER ALTER ANY ROUTE ALTER CONTROL SERVER ALTER ANY SCHEMA ALTER CONTROL SERVER ALTER ANY SERVICE ALTER CONTROL SERVER ALTER ANY SYMMETRIC KEY ALTER CONTROL SERVER ALTER ANY USER ALTER CONTROL SERVER
AUTHENTICATE CONTROL AUTHENTICATE SERVER
BACKUP DATABASE CONTROL CONTROL SERVER BACKUP LOG CONTROL CONTROL SERVER CHECKPOINT CONTROL CONTROL SERVER CONNECT CONNECT REPLICATION CONTROL SERVER CONNECT REPLICATION CONTROL CONTROL SERVER CONTROL CONTROL CONTROL SERVER CREATE AGGREGATE ALTER CONTROL SERVER CREATE ASSEMBLY ALTER ANY ASSEMBLY CONTROL SERVER CREATE ASYMMETRIC KEY ALTER ANY ASYMMETRIC KEY CONTROL SERVER CREATE CERTIFICATE ALTER ANY CERTIFICATE CONTROL SERVER CREATE CONTRACT ALTER ANY CONTRACT CONTROL SERVER
CREATE DATABASE CONTROL CREATE ANY DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION ALTER ANY DATABASE EVENT
NOTIFICATION
CREATE DDL EVENT
NOTIFICATION
CREATE DEFAULT ALTER CONTROL SERVER
CREATE FULLTEXT CATALOG ALTER ANY FULLTEXT
CATALOG
CONTROL SERVER
CREATE FUNCTION ALTER CONTROL SERVER CREATE MESSAGE TYPE ALTER ANY MESSAGE TYPE CONTROL SERVER CREATE PROCEDURE ALTER CONTROL SERVER CREATE QUEUE ALTER CONTROL SERVER
CREATE REMOTE SERVICE BINDING ALTER ANY REMOTE SERVICE
BINDING
CONTROL SERVER
CREATE ROLE ALTER ANY ROLE CONTROL SERVER CREATE ROUTE ALTER ANY ROUTE CONTROL SERVER CREATE RULE ALTER CONTROL SERVER CREATE SCHEMA ALTER ANY SCHEMA CONTROL SERVER CREATE SERVICE ALTER ANY SERVICE CONTROL SERVER CREATE SYMMETRIC KEY ALTER ANY SYMMETRIC KEY CONTROL SERVER CREATE SYNONYM ALTER CONTROL SERVER CREATE TABLE ALTER CONTROL SERVER CREATE TYPE ALTER CONTROL SERVER CREATE VIEW ALTER CONTROL SERVER CREATE XML SCHEMA
COLLECTION
ALTER CONTROL SERVER
DELETE CONTROL CONTROL SERVER
披肩按摩器EXECUTE CONTROL CONTROL SERVER
INSERT CONTROL CONTROL SERVER
REFERENCES CONTROL CONTROL SERVER
SELECT CONTROL CONTROL SERVER
SHOWPLAN CONTROL ALTER TRACE
SUBSCRIBE QUERY
CONTROL CONTROL SERVER
NOTIFICATIONS
TAKE OWNERSHIP CONTROL CONTROL SERVER
UPDATE CONTROL CONTROL SERVER
VIEW DATABASE STATE CONTROL VIEW SERVER STATE
VIEW DEFINITION CONTROL VIEW ANY DEFINITION
⼀个⽼外的sql教程
beginner-sql-tutorial/sql-commands.htm
微软的ms server msdn
msdn.microsoft/zh-cn/library/bb510741.aspx
DBCC是SQL Server提供的⼀组控制台命令,如何⽤:
DBCC HELP('?')
DBCC是SQL Server提供的⼀组控制台命令,功能很强⼤,掌握⼀些必要的语句,对操作数据库有不少帮助,所以决定整理⼀下,发现已有不少类似的整理,减少了不少⼯作,归类如下:
⼀、DBCC帮助类命令
*DBCC HELP('?')
查询所有的DBCC命令
*DBCC HELP('checktable')
查询指定的DBCC命令的语法说明
*DBCC USEROPTIONS
返回当前连接的活动(设置)的SET选项
⼆、DBCC检查验证类命令
*DBCC CHECKALLOG('数据库名称')
检查指定数据库的磁盘空间分配结构的⼀致性
*DBCC CHECKCATALOG('数据库名称')
检查指定数据库的系统表内和系统表间的⼀致性
*DBCC CHECKCONSTAINTS('tablename')
检查指定表上的指定约束或所有约束的完整性
*DBCC CHECKDB
检查数据库中的所有对象的分配和结构完整性
*DBCC CHECKFILEGROUP
检查指定⽂件组中所有表在当前数据库中的分配和结构完整性
*DBCC CHECKTABLE
检查指定表或索引视图的数据、索引及test、ntest和image页的完整性
*DBCC CHECKIDENT
检查指定的当前标识值
*DBCC SQLPERF(UMSSTATS)undocumented in BOL
可以⽤来检查是否CPU使⽤达到瓶颈
最关键的⼀个参考数据num runnable,表明当前有多少个线程再等待运⾏
如果⼤于等于,考虑CPU达到瓶颈
三、DBCC维护类命令
*DBCC CLEANTABLE('db_name','table_name')
回收Alter table drop column语句删除可变长度列或text
*DBCC DBREINDEX
重建指定数据库的⼀个或多个索引
*DBCC INDEXDEFRAG
对表或视图上的索引和⾮聚集索引进⾏碎⽚整理
*DBCC PINTABLE(db_id,object_id)
将表数据驻留在内存中
查看哪些表驻留在内存的⽅法是:
select objectproperty(object_id('tablename'),'tableispinned')
*DBCC UNPINTABLE(db_id,object_id)
撤消驻留在内存中的表
*DBCC SHRINKDATABASE(db_id,int)
收缩指定数据库的数据⽂件和⽇志⽂件⼤⼩
*DBCC SHRINKFILE(file_name,int)
收缩相关数据库的指定数据⽂件和⽇志⽂件⼤⼩
四、DBCC性能调节命令
*DBCC dllname(FREE)
sp_helpextendedproc查看加载的扩展PROC
在内存中卸载指定的扩展过程动态链接库(dll)
*DBCC DROPCLEANBUFFERS
从缓冲池中删除所有缓冲区
*DBCC FREEPROCCACHE
从过程缓冲区删除所有元素
*DBCC INPUTBUFFER
显⽰从客户机发送到服务器的最后⼀个语句
*DBCC OPENTRAN(db_name)
查询某个数据库执⾏时间最久的事务,由哪个程序拥有
*DBCC SHOW_STATISTICS
显⽰指定表上的指定⽬标的当前分布统计信息
*DBCC SHOWCONTIG
显⽰指定表的数据和索引的碎⽚信息
*DBCC SQLPERF
(logspace)查看各个DB的⽇志情况
(iostats)查看IO情况
(threads)查看线程消耗情况
返回多种有⽤的统计信息
*DBCC CACHESTATS
显⽰SQL Server 2000内存的统计信息
*DBCC CURSORSTATS
显⽰SQL Server 2000游标的统计信息
*DBCC MEMORYSTATS
显⽰SQL Server 2000内存是如何细分的
*DBCC SQLMGRSTATS
显⽰缓冲中先读和预读准备的SQL语句
五、DBCC未公开的命令
*DBCC ERRLOG
初始化SQL Server 2000的错误⽇志⽂件
*DBCC FLUSHPROCINDB(db_id)
清除SQL Server 2000服务器内存中的某个数据库的存储过程缓存内容*DBCC BUFFER(db_name,object_name,int(缓冲区个数))
显⽰缓冲区的头部信息和页⾯信息
*DBCC DBINFO(db_name)
显⽰数据库的结构信息
*DBCC DBTABLE
显⽰管理数据的表(数据字典)信息
*DBCC IND(db_name,table_name,index_id)
查看某个索引使⽤的页⾯信息
*DBCC REBUILDLOG
重建SQL Server 2000事务⽇志⽂件
*DBCC LOG(db_name,3)(-1--4)
查看某个数据库使⽤的事物⽇志信息
*DBCC PAGE
铝合金切削液配方
查看某个数据库数据页⾯信息
*DBCC PROCBUF
显⽰过程缓冲池中的缓冲区头和存储过程头
*DBCC PRTIPAGE
查看某个索引页⾯的每⾏指向的页⾯号
*DBCC PSS(user,spid,1)
显⽰当前连接到SQL Server 2000服务器的进程信息
*DBCC RESOURCE
显⽰服务器当前使⽤的资源情况
*DBCC TAB(db_id,object_id)
显⽰数据页⾯的结构
六、DBCC跟踪标记
跟踪标记⽤于临时设置服务器的特定特征或关闭特定⾏为,常⽤于诊断性能问题或调试存储过程或复杂的计算机系统
*DBCC TRACEON(3604)
打开跟踪标记
*DBCC TRACEOFF
关闭跟踪标记
*DBCC TRACESTATS
查看跟踪标记状态
七、使⽤DBCC结果集输出
  许多DBCC命令可以产⽣表格格式的输出(使⽤WITH TABLERESULTS选项)。该信息可装载到表中以便将来使⽤。以下显⽰⼀个⽰例脚本:
  CREATE TABLE DBCCResult(
  DBCCFlag INT,
  Result INT
  )
  INSERT INTO DBCCResult
  EXEC ('DBCC TRACESTATUS (-1) WITH NO_INFOMSGS')
  SELECT*
  FROM DBCCResult
⼋、官⽅使⽤DBCC的建议
1、在系统使⽤率较低时运⾏CHECKDB。
2、请确保未同时执⾏其它磁盘I/O操作,例如磁盘备份。
3、将tempdb放到单独的磁盘系统或快速磁盘⼦系统中。
4、允许tempdb在驱动器上有⾜够的扩展空间。使⽤带有ESTIMATE ONLY的DBCC
估计tempdb将需要多少空间。
5、避免运⾏占⽤⼤量CPU的查询或批处理作业。
6、在DBCC命令运⾏时,减少活动事务。
7、使⽤NO_INFOMSGS选项显著减少处理和tempdb的使⽤。
8、考虑使⽤带有PHYSICAL_ONLY选项的DBCC CHECKDB来检查页和记录⾸部
的物理结构。当硬件导致的错误被置疑时,这个操作将执⾏快速检查。
在发布,订阅复制时要⽤服务器实名时可以这样:
select*from sysservers(可以到原来服务器的名称)
exec sp_dropserver'jmsql9'(删除原来的服务器名)
exec sp_addserver'jmSQL9',LOCAL    (改为新的服务器名)
ALTER DATABASE[jm]SET SINGLE_USER          (改为单⽤户模式)
DBCC CHECKDB("databasename",REPAIR_REBUILD)WITH TABLOCK    (修复数据库)
DBCC CHECKTABLE("tablename",repair_rebuild)with tablock  (修复表)
DBCC DBREINDEX('t_icitem','  ')修复此表所有的索引。
ALTER DATABASE[jm]SET MULTI_USER                    (改为多⽤户模式)
REPAIR_ALLOW_DATA_LOSS:执⾏由REPAIR_REBUILD完成的所有修复,包括对⾏和页进⾏分配和取消分配以改正分配错误、结构⾏或页的错误,以及删除已损坏的⽂本对象。这些修复可能会导致⼀些数据丢失。修复操作可以在⽤户事务下完成以允许⽤户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进⾏恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。
REPAIR_FAST进⾏⼩的、不耗时的修复操作,如修复⾮聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。
REPAIR_REBUILD执⾏由REPAIR_FAST完成的所有修复,包括需要较长时间的修复(如重建索引),执⾏这些修复时不会有丢失数据的危险。
dbcc shrinkdatabase(jm)压缩数据库
------------------------
1. 查看数据库的版本
select@@version
2. 查看数据库所在机器操作系统参数
p_msver 3. 查看数据库启动的参数
sp_configure
4. 查看数据库启动时间
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看数据库服务器名和实例名
print': '+convert(varchar(30),@@SERVERNAME)
环网: '+convert(varchar(30),@@SERVICENAME)
5. 查看所有数据库名称及⼤⼩
sp_helpdb

本文发布于:2024-09-22 10:07:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/215952.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   修复   指定   权限   信息   查看   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议