本文共 7338 字,大约阅读时间需要 24 分钟。
方式一、 打开SQL Server Management Studio,点击新建查询,弹出界面,然后在界面中开始写创建数据库代码。 create database UnionDong --UnionDong是你想创建数据库的名字 on [ primary ] --指定文件为主文件,一个数据库只能有一个主文件,若不表示则默认第一个文件为主文件 ( name = 'Dong', --Dong 是你创建.mdf文件的名字 filename = 'E:\SQL2016\DataBase\Dong.mdf', --这个是你的 完整路径 + .mdf文件的全名 size = 8MB, --这是数据库的空间大小 filegrowth = 10% --.mdf数据库的数据文件空间大小每次增长的百分比 ) log on ( name = 'Dong_l', --Dong_l 是你创建.ldf文件的名字 filename = 'E:\SQL2016\DataBase\Dong_l.ldf', --这个是你的 完整路径 + .mdf文件的全名 size = 4MB, --这是数据库的空间大小 filegrowth = 10% --.mdf数据库的数据文件空间大小每次增长的百分比 )首先简单的介绍一下Sql server 备份的类型有:
1:完整备份(所有的数据文件和部分的事务日志文件) 2:差异备份(最后一次完成备份后数据库改变的部分) 3:文件和文件组备份(对指定的文件和文件组备份) 4:事物日志备份(所有数据库的变更) 5:尾日期备份(日志的活动部分,指上一次为备份的日志部分) 6:部分备份(主文件组、每个可读可写文件组和指定的只读文件组) 7:仅复制备份(数据库或者日志的备份,不影响整体备份)BACKUP DATABASE <Database_Name, sysname, Database_Name>
FILE = N'<Logical_File_Name_1,sysname,Logical_File_Name_1>', FILEGROUP = N'PRIMARY', FILE = N'<Logical_File_Name_2, sysname, Logical_File_Name_2>', FILEGROUP = N'<Filegroup_1, sysname, Filegroup_1>' TO <Backup_Device_Name, sysname, Backup_Device_Name> GOBACKUP DATABASE <Database_Name, sysname, Database_Name>
TO DISK = N'<Backup_Path,,C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\><Database_Name, sysname, Database_Name>.bak' WITH NOFORMAT, COMPRESSION, NOINIT, NAME = N'<Database_Name, sysname, Database_Name>-Full Database Backup', SKIP, STATS = 10; GORESTORE DATABASE <Database_Name, sysname, Database_Name>
FROM DISK = N'<Backup_Path,,C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\><Database_Name, sysname, Database_Name>.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 GO CREATE DATABASE [<database_name, sysname, TestDB>] ON PRIMARY ( Name= N'<database_name, sysname, TestDB>_data', FILENAME= N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>_data.mdf'), FILEGROUP [<filegroup_name1, sysname, FG_1>] ( NAME=N' <database_name, sysname, TestDB>_<filegroup_name1, sysname, FG_1>', FILENAME =N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>_<filegroup_name1, sysname, FG_1>.ndf'), FILEGROUP [<filegroup_name2, sysname, FG_2>] ( NAME=N' <database_name, sysname, TestDB>_<filegroup_name2, sysname, FG_2>', FILENAME =N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>_<filegroup_name2, sysname, FG_2>.ndf') LOG ON ( NAME =N'<database_name, sysname, TestDB>_log', FILENAME =N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>_log.ldf'); GO-- Backup database
BACKUP DATABASE [<database_name, sysname, TestDB>] FILEGROUP=N'PRIMARY', FILEGROUP=N'<filegroup_name1, sysname, FG_1>', FILEGROUP=N'<filegroup_name2, sysname, FG_2>' TO DISK = N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak'-- Backup log
BACKUP LOG [<database_name, sysname, TestDB>] TO DISK = '<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak' WITH NO_TRUNCATE , NORECOVERY, NOFORMAT, NOINIT, NAME = '<database_name, sysname, TestDB> backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10-- Restore filegroups - one at a time
RESTORE DATABASE [<database_name, sysname, TestDB>] FILE = N'<database_name, sysname, TestDB>_data' FROM DISK = N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10 GORESTORE DATABASE [<database_name, sysname, TestDB>]
FILE = N' <database_name, sysname, TestDB>_<filegroup_name1, sysname, FG_1>' FROM DISK = N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10 GORESTORE DATABASE [<database_name, sysname, TestDB>]
FILE = N' <database_name, sysname, TestDB>_<filegroup_name2, sysname, FG_2>' FROM DISK = N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10-- Restore log
RESTORE LOG [<database_name, sysname, TestDB>] FROM DISK = N'<file_location, sysname, D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\><database_name, sysname, TestDB>.bak' WITH FILE = 2, NOUNLOAD, STATS = 10 GO--------------------完整备份默认追加到现有的文件---------------
backup database NorthWind To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak' --------完整备份,覆盖现有的文件 Backup database NorthWind To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak' With init---覆盖现有文件代码 --------差异备份(上次一完整备份以来改变的数据页) backup database NorthWind To Disk='d:\backup\NorthWindCS-Full-2010-11-23.bak' -----事物日志备份,会自动截断日志(默认会阶段日志) backup log NorthWind To Disk='d:\backup\NorthWindCS-log-2010-11-23' -----事物日志备份,不截断日志(默认会阶段日志) backup log NorthWind To Disk='d:\backup\NorthWindCS-log-2010-11-23' With No_Truncate -----不备份直接阶段日志,在SQL SERVER2008中不再支持。 backup log NorthWind With No_Log backup log NorthWind With Tuancate_only -----SQL SERVER 2008 替代的截断日志方法 alter database NorthWind set Recovery Simple exec sp_helpdb NorthWInd use NorthWind dbcc shrinkfile('NorthWind_log') alter database NorthWind set Recovery Full ----超大型数据库的文件和文件组备份 Exec sp_helpdb NorthWind backup database NorthWind File='NorthWind_Current' to disk='h:\backup\NorthwindCS_Full_2010031.bak' backup database NorthWind FileGroup='Current' to disk='h:\backup\NorthwindCS_FG_2010031.bak' ---仅复制备份,不影响现有的备份序列 backup database NorthWind To disk='h:\backup\NorthwindCS_Full_2010031.bak' With Copy_only --尾部日志备份,备份完成后数据库不再提供访问 use master go backup log NorthWind to disk='h:\backup\Northwind-taillog-20101031.bak' With NoRecovery --回复数据库提供访问 Restore databse NorthWind with Recovery --分割备份到多个目标文件 backup database NorthWind to disk='h:\backup\Northwind-part1.bak', disk='h:\backup\NorthwindCS-part2.bak' --镜像备份,需要加入With Format backup database NorthWind to disk='h:\backup\NorthwindCS-Mirror1.bak' Mirror to disk='h:\backup\NorthwindCS-Mirror2.bak'----Mirror镜像 With Format --备份到远程服务器 --使用SQL SERVER 的服务启动账号访问远程共享可写文件夹 backup database Northwind to disk='\\192.168.3.20\backup\nw-yourname.bak' --备份到远程服务器,指定访问远程服务器的账号和密码 Exec sp_configure Exec Sp_COnfigure 'show advanced options',1 Reconfigure with Overrid Exec sp_configure 'xp_cmdshell',1 Reconfigure with override Exec xp_cmdshell 'net use \\192.168.10.101' /user:administrator password' backup database Northwind to disk='\\192.168.10.101\backup\nw-fy.bak' Exec sp_configure 'xp_cmdshell',0 Reconfigure with override -------------------------------------- --备份压缩 -------------------------------------- Backup Database AdventureWorks To disk='h:\backup\adv不压缩备份.bak' --132MB 花费 7.789 秒(16.877 MB/秒)。 --备份到NTFS目录 Backup Database AdventureWorks To disk='H:\backup\test\advNTFS压缩备份.bak' --60MB 花费 11.871 秒(11.073 MB/秒)。 Backup Database AdventureWorks To disk='h:\backup\adv压缩备份.bak' With Compression --132MB 花费 7.789 秒(16.877 MB/秒)。 --34MB 花费 3.775 秒(34.820 MB/秒)。 --启动默认备份压缩 EXEC sp_configure 'backup compression default', '1' RECONFIGURE WITH OVERRIDE GO转载地址:http://szrli.baihongyu.com/