【澳门金沙vip】常用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’)

根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。
我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象。
在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一个测试下。以下是测试记录:
复制代码 代码如下: USE master GO CREATE
DATABASE [db_test] GO USE db_test GO CREATE TABLE dbo.T_test( ID
[int] IDENTITY(1,1) NOT NULL, Code varchar(10) , Name varchar(100) ,
Memo nvarchar(500) , Memo2 ntext , PRIMARY KEY (ID) ) GO
–上面创建的表是源数据表,下面创建是要导入数据的表,只有源表的三个字段
Select Code, Name,Memo into dbo.T_test2 from dbo.T_test Where 1=2
–需求就是把表T_test中的Code,Name导入到T_test2。
–接下来,就是生成导入目标表的格式化XML文件,可是MSDN上说只能生成某个对象的格式化XML文件。
–只好建立一个中间对象来达到目的,这里我创建的是一个视图。
–视图只包含需要导入的字段 Create View v_test AS Select Code,Name From
dbo.T_test2 –然后就是BCP操作 EXEC sp_configure ‘show advanced
options’, 1; RECONFIGURE; EXEC sp_configure ‘xp_cmdshell’, 1; EXEC
sp_configure ‘show advanced options’, 0; RECONFIGURE; GO EXEC
master..xp_cmdshell ‘BCP db_test.dbo.v_test format nul -f
C:/v_test_fmt.xml -x -c -T -S MyPC\MyDB’ GO EXEC master..xp_cmdshell
‘BCP “select Code, Name from db_test.dbo.T_test” queryout
C:/t_test.data -f C:/v_test_fmt.xml -T -S MyPC\MyDB’ GO
–格式化文件和数据文件都有了,就成了. BULK INSERT db_mgr.dbo.v_t1 FROM
N’C:/t_test.data’ WITH ( FORMATFILE = N’C:/v_test_fmt.xml’ ) GO EXEC
sp_configure ‘show advanced options’, 1; RECONFIGURE; EXEC
sp_configure ‘xp_cmdshell’, 0; EXEC sp_configure ‘show advanced
options’, 0; RECONFIGURE; GO Drop Database db_test GO 环境是sql2005。

启用’xp_cmdshell’:
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options’, 0
RECONFIGURE WITH OVERRIDE

2:net use : 是WINDOWS内部的网络命令。
作用:将计算机与共享资源连接或断开,或者显示关于计算机连接的信息。
该命令还控制持久网络连接。

4: 删除共享文件夹
在程序代码中调用(或者CMD窗口) net share sqlbakup/delete
或者用NetShareDel这个API
恢复数据库
restore database a from disk=’\\192.168.12.30\backup\a.bak’

使用 SQL Server restore filelistonly 命令来查看逻辑文件名
restore filelistonly from disk=’\\192.168.12.30\backup\a.bak’

1、假设备份文件xxxx.bak大小约300G,还原后所占用的空间为900G

备份数据库
第一步: 在备份机建立共享文件夹
在程序代码中调用(或者CMD窗口)
net share sqlbakup=D:\backup 或者用NetShareAdd这个API
简要说明:
net share:是WINDOWS内部的网络命令。
作用:建立本地的共享资源,显示当前计算机的共享资源信息。
第二步: 建立共享信用关系
exec master..xp_cmdshell ‘net use \\192.168.12.30\backup 123
/user:B28-1230\Administrator’