大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA.TABLESWhereTABLE_TYPE='BASETABLE'执行之后,就可以看到数据库中所有属于自己建的表的名称2、查询SQL中所有表及列:Selectdbo.sysobjects.nameasTable_name,dbo.syscolumns.nameASColumn_nameFROMdbo.syscolumnsINNERJOINdbo.sysobjectsONdbo.syscolumns.id=dbo.sysobjects.idWhere(dbo.sysobjects.xtype='u')AND(NOT(dbo.sysobjects.nameLIKE'dtproperties'))3、在Sql查询分析器,还有一个简单的查询方法:EXECsp_MSforeachtable@command1="sp_spaceused'?'"执行完之后,就可以看到数据库中所有用户表的信息4、查询总存储过程数:selectcount(*)总存储过程数fromsysobjectswherextype='p'附:xtype类型D=默认值或DEFAULT约束F=FOREIGNKEY约束L=日志FN=标量函数IF=内嵌表函数P=存储过程PK=PRIMARYKEY约束(类型是K)RF=复制筛选存储过程S=系统表TF=表函数TR=触发器U=用户表UQ=UNIQUE约束(类型是K)V=视图X=扩展存储过程另:在sqlserver中取得某个数据库中所有表名的sql语句selectsysobjects.namefromsysobjects.xtype='U';SELECTnameWHERE(xtype='U')在数据库的sysobjects表里有这个数据库全部表的信息,xtype值为'U'的就是表名注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER默认它也是用户表,想要从用户表中排出,需要加上限定条件status0,即:select*fromsysobjectswherextype='U'andstatus0
创新互联建站2013年开创至今,先为文山州等服务建站,文山州等地企业,进行企业商务咨询服务。为文山州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
SQL Server中查询用户的对象权限和角色的方法 \x0d\x0a\x0d\x0a-- 查询用户的object权限\x0d\x0aexec sp_helprotect NULL, 'UserName'\x0d\x0a-- 查询用户拥有的role\x0d\x0aexec sp_helpuser 'UserName'\x0d\x0a-- 查询哪些用户拥有指定的系统role\x0d\x0aexec sp_helpsrvrolemember 'sysadmin'\x0d\x0a-- 可查询嵌套role\x0d\x0aWITH tree_roles as\x0d\x0a(\x0d\x0aSELECT role_principal_id, member_principal_id\x0d\x0aFROM sys.database_role_members\x0d\x0aWHERE member_principal_id = USER_ID('UserName')\x0d\x0aUNION ALL\x0d\x0aSELECT c.role_principal_id,c.member_principal_id\x0d\x0aFROM sys.database_role_members as c\x0d\x0ainner join tree_roles\x0d\x0aon tree_roles.member_principal_id = c.role_principal_id\x0d\x0a)\x0d\x0aSELECT distinct USER_NAME(role_principal_id) RoleName\x0d\x0aFROM tree_roles\x0d\x0a\x0d\x0a-- 其他权限相关基本表\x0d\x0aselect * from sysusers\x0d\x0aselect * from syspermissions\x0d\x0a\x0d\x0a-- Who has access to my SQL Server instance?\x0d\x0aSELECT\x0d\x0aname as UserName, type_desc as UserType, is_disabled as IsDisabled\x0d\x0aFROM sys.server_principals\x0d\x0awhere type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')\x0d\x0aorder by UserType, name, IsDisabled\x0d\x0a\x0d\x0a-- Who has access to my Databases?\x0d\x0aSELECT\x0d\x0adp.name as UserName, dp.type_desc as UserType, sp.name as LoginName, sp.type_desc as LoginType\x0d\x0aFROM sys.database_principals dp\x0d\x0aJOIN sys.server_principals sp ON dp.principal_id = sp.principal_id\x0d\x0aorder by UserType\x0d\x0a\x0d\x0aselect * from sys.database_principals\x0d\x0a\x0d\x0a-- Server Roles\x0d\x0aselect\x0d\x0ap.name as UserName, p.type_desc as UserType, pp.name as ServerRoleName, pp.type_desc as ServerRoleType\x0d\x0afrom sys.server_role_members roles\x0d\x0ajoin sys.server_principals p on roles.member_principal_id = p.principal_id\x0d\x0ajoin sys.server_principals pp on roles.role_principal_id = pp.principal_id\x0d\x0awhere pp.name in('sysadmin')\x0d\x0aorder by ServerRoleName, UserName\x0d\x0a\x0d\x0a-- Database Roles\x0d\x0aSELECT\x0d\x0ap.name as UserName, p.type_desc as UserType, pp.name as DBRoleName, pp.type_desc as DBRoleType, pp.is_fixed_role as IfFixedRole\x0d\x0aFROM sys.database_role_members roles\x0d\x0aJOIN sys.database_principals p ON roles.member_principal_id = p.principal_id\x0d\x0aJOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id\x0d\x0awhere pp.name in('db_owner', 'db_datawriter')\x0d\x0a\x0d\x0a-- What can these users do?\x0d\x0aSELECT\x0d\x0agrantor.name as GrantorName, dp.state_desc as StateDesc, dp.class_desc as ClassDesc, dp.permission_name as PermissionName ,\x0d\x0aOBJECT_NAME(major_id) as ObjectName, GranteeName = grantee.name\x0d\x0aFROM sys.database_permissions dp\x0d\x0aJOIN sys.database_principals grantee on dp.grantee_principal_id = grantee.principal_id\x0d\x0aJOIN sys.database_principals grantor on dp.grantor_principal_id = grantor.principal_id\x0d\x0awhere permission_name like '%UPDATE%'
打开SQL Server Management Studio 界面。法1:单击工具栏的“新建查询”;方法2:或右击数据库名称-》“新建查询”;方法3:选中数据表-》编写表脚本为-》SELECT到-》新查询编辑器窗口。在数据库对象下拉框中选择“BooksDB”,在查询编辑器输入区中输入Transact-SQL语句,然后点击工具栏或“查询”菜单中的“!执行”,执行输入区的Transact-SQL语句
可用两种方法,一种是在Microsoft SQL Server Manager Studio中的图形界面查询,另一种是语句查询。
方法1:
1、使用Microsoft SQL Server Manager Studio登录数据库。
2、在左边树找到要查的表,并点击前边的“+”
3、点击“列”前边的“+”
4、然后就可以看到要查的字段的类型了,如图:
方法2:
直接用语句查询,如要查student表中的所有字段类型:
select a.name 表名,b.name 字段名,c.name 字段类型,c.length 字段长度 from sysobjects a,syscolumns b,systypes c where a.id=b.id
and a.name='student' and a.xtype='U'
and b.xtype=c.xtype
结果截图:
一般情况下:
1、人们不会直接操作SQL Server进行数据的管理和查询,只有管理、设计人员或是学习编程的朋友才会在SQL Server自带的管理器里进行数据的管理和查询工作。
2、设计好了的带SQL Server查询的应用(或叫程序)会有相对简单的界面,你填好需要查询的条件,进行简单的操作就能查到你能查到的,想查到的数据。具体的如何查,取决于软件设计者的设计。
二、直接操作SQL Server进行查询:
各版本的SQL Sserver的具体做法不相同,但基本思路是一样的,登录SQL Server的管理器,然后使用管理器的基本功能及标准的SQL语句进行查询。
三、如果上面说的你一点儿也不明白,那说明你可能没有这方面的知识,建议你搜索“Microsoft SQL Server 2008 R2基础教程”,然后耐心地翻看一下。