您的位置:首页 > 数据库

sql server 管理常用命令

2008-12-26 12:55 232 查看
[align=left]创建一个库 [/align][align=left]CREATE DATABASE g2 ON PRIMARY [/align][align=left]( NAME = 'g2', FILENAME = 'E:\benet\data1\g1.mdf' , SIZE = 307200KB , FILEGROWTH = 1024KB )[/align][align=left] LOG ON [/align][align=left]( NAME = 'g2_log', FILENAME = 'E:\benet\data1\g1_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]创建一个表 [/align][align=left]CREATE TABLE biao2[/align][align=left] ([/align][align=left] id int NOT NULL,[/align][align=left] xingming char(10) NOT NULL,[/align][align=left] xingbie float(53) NOT NULL,[/align][align=left] nianling int NOT NULL,[/align][align=left] chengji float(53) NULL[/align][align=left] )[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] 查询[/align][align=left]select * from biao1 [/align][align=left]where chengji between 400 and 600 [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1 [/align][align=left]where nianling like 55[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1[/align][align=left]where nianling between 10 and 100[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1[/align][align=left]where id = 5 [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]insert into biao1 [/align][align=left]values (6 ,'原迟',1 , 100 , 1542.22)[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]update biao1 [/align][align=left]set chengji = chengji + 1000[/align][align=left]select * from biao1[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]delete[/align][align=left]from biao1[/align][align=left]where id = 1 [/align][align=left]select * from biao1[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1 排序[/align][align=left]order by no asc[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]update biao2[/align][align=left]set zongji = shuxue + yuwen + huaxue[/align][align=left]where xingming = 'a'[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]insert into biao1[/align][align=left]values[/align][align=left](7,'骨血松涛',1 , 700)[/align][align=left]select * from biao1[/align][align=left]where xingming like '%血%'[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select distinct xingbie from biao1[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]alter table biao1[/align][align=left]drop column chengji 删除一列[/align][align=left] [/align][align=left]alter table biao2[/align][align=left]add [/align][align=left]liehao int[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1,biao2[/align][align=left]where biao1.id=biao2.id 将表一和表二联系起来,建立主索引, 注意小数点的应用[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select * from biao1[/align][align=left]inner join biao2[/align][align=left]on biao1.id=biao2.id 和上面的一样[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]查询时间[/align][align=left]select * from biao2[/align][align=left]where riqi between '1993-01-01 00:00:00.000' and '1994-6-29 00:00:00.000'[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select xingming from biao2[/align][align=left]where bumen ='xiaoshou' and xingbie ='na'[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]delete [/align][align=left]from biao2[/align][align=left]where xingming='jinpeng'[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]select id ,xingming into biao2_backup [/align][align=left]from biao2[/align][align=left]where xingbie='na' 备份选择的数据 [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]create view shitu as [/align][align=left]select xingming ,riqi [/align][align=left]from biao2 [/align][align=left]where xingbie = 'na' 创建一个自己匹配的视图[/align][align=left] [/align][align=left] [/align][align=left]视图相当于是一个符合你的目的的一个查询结果集.[/align][align=left]他不占用空间,方便你以后的查找.[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]多文件还原代码[/align][align=left] [/align][align=left]ESTORE DATABASE [benet] FROM DISK = N'G:\bak\wz.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 10[/align][align=left]GO[/align][align=left]RESTORE DATABASE [benet] FROM DISK = N'G:\bak\cy.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10[/align][align=left]GO[/align][align=left] [/align][align=left] [/align][align=left]恢复数据库 benet 来自文件 DISK = N'G:\bak\cy.bak' with 文件数1个,[/align][align=left]NORECOVERY 指定不发生回滚。从而使前滚按顺序在下一条语句中继续进行。 [/align][align=left] [/align][align=left]在这种情况下,还原顺序可还原其他备份,并执行前滚。 [/align][align=left] [/align][align=left]REPLACE覆盖[/align][align=left] [/align][align=left] [/align][align=left]A. 还原完整数据库[/align][align=left]注意: [/align][align=left]MyAdvWorks 数据库仅供举例说明。[/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]以下示例还原完整数据库备份。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks [/align][align=left] FROM MyAdvWorks_1[/align][align=left] [/align][align=left]注意: [/align][align=left]对于使用完全恢复模式或大容量日志恢复模式的数据库,在大多数情况下,SQL Server 2005 都要求您在还原数据库前备份日志尾部。有关详细信息,请参阅尾日志备份。 [/align][align=left] [/align][align=left] [/align][align=left] [/align][align=left]B. 还原完整数据库备份和差异备份[/align][align=left]以下示例还原完整数据库备份后还原差异备份。另外,以下示例还说明如何还原媒体上的另一个备份集。差异备份追加到包含完整数据库备份的备份设备上。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FROM MyAdvWorks_1[/align][align=left] WITH NORECOVERY[/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FROM MyAdvWorks_1[/align][align=left] WITH FILE = 2[/align][align=left] [/align][align=left] [/align][align=left]C. 使用 RESTART 语法还原数据库[/align][align=left]以下示例使用 RESTART 选项重新启动因服务器电源故障而中断的 RESTORE 操作。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]-- This database RESTORE halted prematurely due to power failure.[/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FROM MyAdvWorks_1[/align][align=left]-- Here is the RESTORE RESTART operation.[/align][align=left]RESTORE DATABASE MyAdvWorks [/align][align=left] FROM MyAdvWorks_1 WITH RESTART[/align][align=left] [/align][align=left] [/align][align=left]D. 还原数据库并移动文件[/align][align=left]以下示例还原完整数据库和事务日志,并将已还原的数据库移动到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FROM MyAdvWorks_1[/align][align=left] WITH NORECOVERY, [/align][align=left] MOVE 'MyAdvWorks' TO [/align][align=left]'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewAdvWorks.mdf', [/align][align=left] MOVE 'MyAdvWorksLog1' [/align][align=left]TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewAdvWorks.ldf'[/align][align=left]RESTORE LOG MyAdvWorks[/align][align=left] FROM MyAdvWorksLog1[/align][align=left] WITH RECOVERY[/align][align=left] [/align][align=left] [/align][align=left]E. 使用 BACKUP 和 RESTORE 创建数据库的副本[/align][align=left]以下示例使用 BACKUP 和 RESTORE 语句创建 AdventureWorks 数据库的副本。MOVE 语句使数据和日志文件还原到指定的位置。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件数及名称。该数据库的新副本称为 TestDB。有关详细信息,请参阅 RESTORE FILELISTONLY (Transact-SQL)。 [/align][align=left] [/align][align=left] 复制代码 [/align][align=left]BACKUP DATABASE AdventureWorks [/align][align=left] TO DISK = 'C:\AdventureWorks.bak'[/align][align=left] [/align][align=left]RESTORE FILELISTONLY [/align][align=left] FROM DISK = 'C:\AdventureWorks.bak'[/align][align=left] [/align][align=left]RESTORE DATABASE TestDB [/align][align=left] FROM DISK = 'C:\AdventureWorks.bak'[/align][align=left] WITH MOVE 'AdventureWorks_Data' TO 'C:\testdb.mdf',[/align][align=left] MOVE 'AdventureWorks_Log' TO 'C:\testdb.ldf'[/align][align=left]GO[/align][align=left] [/align][align=left] [/align][align=left]F. 使用 STOPAT 语法还原到时间点和使用多个设备进行还原[/align][align=left]以下示例将数据库还原到它在 2005 年 4 月 15 日中午 12 点时的状态,并显示涉及多个日志和多个备份设备的还原操作。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FROM MyAdvWorks_1, MyAdvWorks_2[/align][align=left] WITH NORECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM' [/align][align=left] [/align][align=left]RESTORE LOG MyAdvWorks[/align][align=left] FROM MyAdvWorksLog1[/align][align=left] WITH NORECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM'[/align][align=left] [/align][align=left]RESTORE LOG MyAdvWorks[/align][align=left] FROM MyAdvWorksLog2[/align][align=left] WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM'[/align][align=left] [/align][align=left] [/align][align=left]G. 将事务日志还原到标记[/align][align=left]以下示例将事务日志还原到名为 ListPriceUpdate 的标记事务中的标记处。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]USE AdventureWorks[/align][align=left]GO[/align][align=left]BEGIN TRANSACTION ListPriceUpdate[/align][align=left] WITH MARK 'UPDATE Product list prices'[/align][align=left]GO[/align][align=left] [/align][align=left]UPDATE Production.Product[/align][align=left] SET ListPrice = ListPrice * 1.10[/align][align=left] WHERE ProductNumber LIKE 'BK-%'[/align][align=left]GO[/align][align=left] [/align][align=left]COMMIT TRANSACTION ListPriceUpdate[/align][align=left]GO[/align][align=left] [/align][align=left]-- Time passes. Regular database [/align][align=left]-- and log backups are taken.[/align][align=left]-- An error occurs.[/align][align=left]USE master[/align][align=left]GO[/align][align=left] [/align][align=left]RESTORE DATABASE AdventureWorks[/align][align=left]FROM AdvWorks1[/align][align=left]WITH FILE = 3, NORECOVERY[/align][align=left]GO[/align][align=left] [/align][align=left]RESTORE LOG AdventureWorks[/align][align=left] FROM AdvWorks1[/align][align=left] WITH FILE = 4,[/align][align=left] STOPATMARK = 'ListPriceUpdate'[/align][align=left] [/align][align=left] [/align][align=left]H. 使用 TAPE 语法还原[/align][align=left]以下示例从 TAPE 备份设备还原完整数据库备份。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks [/align][align=left] FROM TAPE = '\\.\tape0'[/align][align=left] [/align][align=left] [/align][align=left]I. 使用 FILE 和 FILEGROUP 语法还原[/align][align=left]以下示例还原一个包含两个文件、一个文件组和一个事务日志的数据库。[/align][align=left] [/align][align=left] 复制代码 [/align][align=left]RESTORE DATABASE MyAdvWorks[/align][align=left] FILE = 'MyAdvWorks_data_1',[/align][align=left] FILE = 'MyAdvWorks_data_2',[/align][align=left] FILEGROUP = 'new_customers'[/align][align=left] FROM MyAdvWorks_1[/align][align=left] WITH NORECOVERY[/align][align=left] [/align][align=left]-- Restore the log backup.[/align][align=left]RESTORE LOG MyAdvWorks[/align][align=left] FROM MyAdvWorksLog1[/align][align=left] [/align][align=left] [/align][align=left]J. 恢复到数据库快照[/align][align=left]以下示例将数据库恢复到数据库快照。此示例假定该数据库当前仅存在一个快照。有关创建此数据库快照的示例,请参阅如何创建数据库快照 (Transact-SQL)。[/align][align=left] [/align][align=left]注意: [/align][align=left]恢复到快照将删除所有全文目录。 [/align][align=left] [/align][align=left] [/align][align=left] 复制代码 [/align][align=left]USE master [/align][align=left]RESTORE DATABASE AdventureWorks FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';[/align][align=left]GO[/align][align=left] [/align][align=left] [/align] 本文出自 “makeguan.blog.163.com” 博客,请务必保留此出处http://makeguan.blog.51cto.com/307328/122668
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: