Sql Server的一些用法
jason 4/19/2023 SqlServer
# 使用语句备份、还原、附加、分离数据库
众所周知微软官方客户端工具SQL Server Management Studio (SSMS)
是带附加、分离、备份、还原可视化按钮的,傻瓜式操作点击下一步即可...
但是我们用第三方客户端作为自己的日常开发工具的时候,比如:Navicat for SQL Server
、dbeaver
。是不具备这些可视化按钮的,
所以这里重点笔记一下如何使用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
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
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
2
3
4
5
# 4.分离数据库
use master
exec sp_detach_db @dbname=N'TestDB'
1
2
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
2
3
4
5
6
7
8
9
10