Sql Server的一些用法

4/19/2023 SqlServer

# 使用语句备份、还原、附加、分离数据库

众所周知微软官方客户端工具SQL Server Management Studio (SSMS)是带附加、分离、备份、还原可视化按钮的,傻瓜式操作点击下一步即可... 但是我们用第三方客户端作为自己的日常开发工具的时候,比如:Navicat for SQL Serverdbeaver。是不具备这些可视化按钮的, 所以这里重点笔记一下如何使用sql语句的方式附加和还原数据库:

# 1.备份数据库(完整备份)

use master
backup database [TestDb] to disk = 'F:\LocalDbRepo\TestDb_'+ convert(varchar(50),getdate(),112)+'.bak'
WITH NOFORMAT, NOINIT,  NAME = N'TestDb-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD
1
2
3

# 2.还原备份(.bak)文件

如果是通过备份文件新建数据库,则需要先在创建新数据库,再备份



 









use master  --这里注意要使用master,以免出现待还原库被占用的情况

restore filelistonly from disk='F:\LocalDbRepo\test_20200609.bak' -- 先查询备份文件,数据库逻辑文件名称

restore database [TestDb] from  disk = 'F:\LocalDbRepo\test_20200609.bak' --备份文件的位置
with
--数据文件逻辑名字
 move 'test_db'  to 'F:\LocalDbRepo\sqldb\TestDb.mdf',  --指定新的数据文件路径
 --日志文件逻辑名字
 move 'test_log' to 'F:\LocalDbRepo\sqldb\TestDb.ldf',   --指定新的日志文件路径
STATS = 10,replace
1
2
3
4
5
6
7
8
9
10
11

# 3.附加数据库

use master

exec sp_attach_db @dbname = N'TestDb', 
@filename1 = N'F:\LocalDbRepo\sqldb\TestDb.mdf',   --逻辑文件路径
@filename2 = N'F:\LocalDbRepo\sqldb\TestDb_log.ldf'  --日志文件路径
1
2
3
4
5

# 4.分离数据库

use master
exec sp_detach_db @dbname=N'TestDB'
1
2

# 添加链接服务器

--查询已创建的链接服务器
select * from sys.servers where is_linked=1 
--创建链接服务器
EXEC master.dbo.sp_addlinkedserver @server = N'服务器IP', @srvproduct=N'SQL Server'
--创建链接服务器登录账户
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'服务器IP', @locallogin = NULL , @useself = N'False', @rmtuser = N'sa', @rmtpassword = N'1'
--修改链接服务器名称
EXEC master.dbo.sp_serveroption @server=N'服务器IP', @optname=N'name', @optvalue=N'custom name'
--删除链接服务器
exec sp_dropserver '服务器IP','droplogins'
1
2
3
4
5
6
7
8
9
10
Last Updated: 12/19/2023, 8:51:29 AM