重庆熊猫 Loading

SQL Server教程 - SQL Server主要的命令行管理工具

更新记录
转载请注明出处。
2022年8月31日 发布。
2022年8月31日 从笔记迁移到博客。

SQL Server主要的命令行管理工具

bcp
在SQL Server实例和用户指定格式的数据文件之间进行数据复制
dta
数据库引擎优化顾问
dtexec
用于配置管理SQL Server 的Integration Services
rs
管理和运行报表服务器脚本
rsconfig
对报表服务的管理
dtutil
用于管理SSIS包
osql
输入和执行T-SQL语句,该工具通过ODBC进行连接数据库
sqlcmd
输入和执行T-SQL语句,该工具通过OLE DB进行连接数据库
sqlmaint
包含一组用于管理数据库维护的工具,比如备份
sqlsrvr
命令行下执行SQL Server实例的启动、停止、暂停、继续
ssms
命令行下打开SSMS工具
tablediff
比较两个表的数据一致性,多用来排除复制过程中的故障

Sqlcmd

最新版本的 sqlcmd 工具

https://docs.microsoft.com/zh-cn/sql/tools/sqlcmd-utility?view=sql-server-ver15

sqlcmd 会话模式

在命令提示符下键入 sqlcmd,按 Enter
现在,您已与计算机上运行的默认 SQL Server 实例建立了可信连接
1> 是 sqlcmd 提示符,可以指定行号,每按一次 Enter,该数字就会加 1
若要结束 sqlcmd 会话,请在 sqlcmd 提示符中键入 EXIT

基础命令

查看版本信息

sqlcmd -?

查看帮助信息

sqlcmd -?

登录

登录

sqlcmd -S localhost -U sa -P '123456';

登录并指定数据库

sqlcmd -S localhost\sqlserver_name -d database_name

退出

quit

执行SQL文件

执行脚本文件

sqlcmd -S localhost -U sa -P '123456' -i "G:\test.sql";

执行脚本文件并设置输出到指定文件

sqlcmd -S localhost -U sa -P '123456' -i "G:\t.sql" -o "G:\t2.txt";

注意:这里的路径要使用反斜线。

执行SQL字符串

sqlcmd -S localhost\sqlserver_name -d database_name
-Q "SELECT * FROM [table_name]"

SQL Server 数据库管理

连接SQL Server LocalDB

sqlcmd -S "(localdb)\MSSQLLocalDB"

查看数据库基本信息

use master
exec sp_helpdb [PandaTest]

查看所有数据库

use master
exec sp_helpdb

查看数据库中的所有对象

USE [PandaTest]
EXEC sp_help

查询数据文件或日志文件当前存放路径

注意:先要进入指定的数据库

SELECT physical_name FROM sys.database_files

获取数据库的逻辑名和日志逻辑名

注意:先要进入指定的数据库
方式一

select file_name(1),file_name(2)

方式二

SELECT name FROM sys.database_files 

修改数据的逻辑名或者日志逻辑名

ALTER DATABASE [database_name] MODIFY FILE ( NAME = database_name, NEWNAME = new_database_name ) 
ALTER DATABASE [database_name] MODIFY FILE ( NAME = database_nameb_log, NEWNAME = new_database_name_log )

SQL Server 表管理

查看指定的表详细信息

USE [PandaTest]
EXEC sp_help [PandaTable]

SQL Server 账户管理

创建登录账户

CREATE LOGIN catalog_srv WITH PASSWORD = 'P@ssw0rd';

SQL Server 用户管理

创建用户

CREATE USER user_name;

为用户增加角色

EXEC sp_addrolemember N'db_owner', N'username';

SQL Server 备份和恢复

备份数据库

backup database database_name to disk='E:\backup\database_name.bak'

恢复数据库

restore database database_name from disk='D:\backup\database_name.bak'
with
move 'database_name' to 'D:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\database_name.mdf',
move 'database_name_log' to 'D:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\database_name_log.ldf'
go

恢复数据库并修改数据库的名称

restore database update_database_name from disk='E:\backup\database_name.bak'

bcp 命令

导出表

bcp MDataPort.dbo.Recording out E:\Backup\recording.bcp -S .\sqlexpress -T -c

指定时间戳

bcp "select * from MDataPort.dbo.Recording where Timestamp >= '2019-02-01 00:00:00'" queryout E:\Backup\recording_20190201.bcp -S .\sqlexpress -T -c

指定列

bcp "select Timestamp from MDataPort.dbo.Recording" queryout E:\Backup\recording_Timestamp.bcp -S .\sqlexpress -T -c

导入整张表

bcp MDataPort.dbo.Recording in E:\Backup\recording.bcp -S .\sqlexpress -T -c
posted @ 2022-08-31 08:57  重庆熊猫  阅读(911)  评论(0编辑  收藏  举报