/* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 2000/2005/2008/2008 R2,但是在微软的联机帮助中特意说明这些系统表 -- 在后续版本的 Microsoft SQL Server 将删除该功能.请避免在新的开发工作中使用该功能. -- -- B方法访问系统视图,为微软推荐使用方法,对于今后新版本 SQL Server 兼容性比较好.…
今天在公司的SQL Server服务器上,使用了一个只有public和dbcreator角色的账号"user1"在SMSS中去删除一个数据库,但是死活报错说没有权限,报错如下: Delete backup history failed for server 'MYSERVER' (Microsoft.SqlServer.Smo) Additional Information: The EXECUTE permission was denied on the object 'sp_del…
1. 查看 SQL 2005 用户所属数据库角色 use yourdb go select DbRole = g.name, MemberName = u.name, MemberSID = u.sid from sys.database_principals u, sys.database_principals g, sys.database_role_members m where g.principal_id = m.role_principal_id and u.principal_id…
今天检查公司生产服务器的SQL Server数据库,惊讶的发现有三个生产数据库变为了single user mode.奇怪的是没有任何人和程序执行过SQL语句将这三个数据库设置为single user mode,是自动变的.后来在网上查了查原来发现,重启windows server原来有可能导致SQL Server数据库意外变为single user mode.原文如下: 问题: Why did SQL Server go into single user mode? I've had an a…
以下示例在 SQL Server 实例上创建了一个数据库.该数据库包括一个主数据文件.一个用户定义文件组和一个日志文件.主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件.ALTER DATABASE 语句将用户定义文件组指定为默认文件组.然后通过指定用户定义文件组来创建表. USE master; GO -- Create the database with the default data -- filegroup and a log file. Specify the -- gr…
如何判断数据库是否存在 执行下列的SQL,获得一张表,根据表的行数来判断. select * from master..sysdatabases where name=N'所查询的数据库名' if exists(select * from master.dbo.sysdatabases where name = 'yexinwinners') begin drop database yexinwinners print 'yexinwinners己存在,己被删除' end else…