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
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16641740.html