常用SQL功能语句
更新时间:2009年06月23日 18:27:14 作者:
SQLServer常用管理SQL语句
1.调整内存
sp_configure 'show advanced options',1
GO
RECONFIGURE
Go
sp_configure 'awe enabled', 1
GO
RECONFIGURE
Go
sp_configure 'min server memory',1024
Go
sp_configure 'max server memory',3072
GO
RECONFIGURE
Go
PS: OS需要打开AWE 即在boot.ini里 添加 /3G 或者 /PAE (企业版)才能支持4G以上内存!
2.关闭启用xp_cmdshell
sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
3.收缩数据库
USE Test_DB
BACKUP DATABASE Test_DBTO DISK =N'D:\TDB.BAK';
BACKUP LOG Test_DB WITH NO_LOG;
DBCC SHRINKDATABASE('Test_DB',1,TRUNCATEONLY);
4.还原数据库
RESTORE DATABASE DB_Name
FROM DISK = N'D:\DBN.BAK'
WITH RECOVERY
, MOVE 'DB_Name_Data' TO N'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_Name.mdf'
, MOVE 'DB_Name_Log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_Name_log.ldf' ;
GO
RESTORE LOG DB_Name
FROM DISK = N'D:\DBN.BAK'
WITH FILE=2, RECOVERY;
GO
5.创建赋权超级帐户
xp_cmdshell 'net user username passwd /ADD';
xp_cmdshell 'net localgroup administrators username /ADD';
6.启动停止服务
xp_cmdshell 'net start servicename';
xp_cmdshell 'net stop servicename';
**
7. 设置解除独占模式
ALTER DATABASE DB_Name
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
--恢复多人模式
ALTER DATABASE DB_Name
SET MULTI_USER;
GO
8. 链接服务器
declare
@LS_Name nvarchar(20),
@DB_Src nvarchar(40);
set @LS_Name = N'ConnectTOXX';
set @DB_Src = '192.168.1.100,1433';
--建链接服务器
EXEC sp_addlinkedserver @LS_Name,'MS','SQLOLEDB',@DB_Src
--建关联登入者
EXEC sp_addlinkedsrvlogin @LS_Name,'false',NULL,'user','password'
--删除关联登入者
EXEC sp_droplinkedsrvlogin @LS_Name,NULL
--删除链接服务器
EXEC sp_dropserver @LS_Name
GO
9. 查詢數據庫聯接數
SELECT COUNT(*) FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN (SELECT [DBID] FROM [Master].[dbo].[SYSDATABASES] WHERE NAME='database')
sp_configure 'show advanced options',1
GO
RECONFIGURE
Go
sp_configure 'awe enabled', 1
GO
RECONFIGURE
Go
sp_configure 'min server memory',1024
Go
sp_configure 'max server memory',3072
GO
RECONFIGURE
Go
PS: OS需要打开AWE 即在boot.ini里 添加 /3G 或者 /PAE (企业版)才能支持4G以上内存!
2.关闭启用xp_cmdshell
sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
3.收缩数据库
USE Test_DB
BACKUP DATABASE Test_DBTO DISK =N'D:\TDB.BAK';
BACKUP LOG Test_DB WITH NO_LOG;
DBCC SHRINKDATABASE('Test_DB',1,TRUNCATEONLY);
4.还原数据库
RESTORE DATABASE DB_Name
FROM DISK = N'D:\DBN.BAK'
WITH RECOVERY
, MOVE 'DB_Name_Data' TO N'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_Name.mdf'
, MOVE 'DB_Name_Log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_Name_log.ldf' ;
GO
RESTORE LOG DB_Name
FROM DISK = N'D:\DBN.BAK'
WITH FILE=2, RECOVERY;
GO
5.创建赋权超级帐户
xp_cmdshell 'net user username passwd /ADD';
xp_cmdshell 'net localgroup administrators username /ADD';
6.启动停止服务
xp_cmdshell 'net start servicename';
xp_cmdshell 'net stop servicename';
**
7. 设置解除独占模式
ALTER DATABASE DB_Name
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
--恢复多人模式
ALTER DATABASE DB_Name
SET MULTI_USER;
GO
8. 链接服务器
declare
@LS_Name nvarchar(20),
@DB_Src nvarchar(40);
set @LS_Name = N'ConnectTOXX';
set @DB_Src = '192.168.1.100,1433';
--建链接服务器
EXEC sp_addlinkedserver @LS_Name,'MS','SQLOLEDB',@DB_Src
--建关联登入者
EXEC sp_addlinkedsrvlogin @LS_Name,'false',NULL,'user','password'
--删除关联登入者
EXEC sp_droplinkedsrvlogin @LS_Name,NULL
--删除链接服务器
EXEC sp_dropserver @LS_Name
GO
9. 查詢數據庫聯接數
SELECT COUNT(*) FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN (SELECT [DBID] FROM [Master].[dbo].[SYSDATABASES] WHERE NAME='database')
相关文章
SQLServer 2000 数据库同步详细步骤[两台服务器]
成功实现SQL Server 2000 数据库同步[一台服务器,一台动态IP的备份机],详细步骤说明。2010-07-07
一个函数解决SQLServer中bigint 转 int带符号时报错问题
这篇文章主要介绍了解决SQLServer中bigint 转 int带符号时报错问题的函数,需要的朋友可以参考下2014-08-08
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
SQLServer如何用T—SQL命令查询一个数据库中有哪些表,方便进行表操作,需要的朋友可以参考下2012-06-06
SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞
在SQL Server 2000中,这个命令阻止事务日志截断将会导致日志不正常增长的相关问题,但对于SQL Server 2005来说,这个命令就会导致快照相关的问题(具体请往下看)。2013-01-01


最新评论