图解sql server 命令行工具sqlcmd的使用

article/2025/11/10 5:09:42

一 操作实例

安装了sql server后此工具已经有了;

 

以sa登录;

 

打个命令,没反映;

 

可执行操作系统命令;加上!!即可;

 

查看帮助;

 

再打命令,也没反映;查询结果不显示;

 

要加上go,才行;

 

 

 

执行sql语句;

 

 

 

在企业管理器中查看,命令行创建的数据库出现了;

 

前面创建的表不在my_db中,切换上下文,再创建;

 

创建表;

 

插入数据;

 

 

在企业管理器查看,命令行插入的数据出现了;

 

二 sql server 命令行工具  

一sqlserver2000下的命令行执行

何为 Osql?osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。osql 工具使用 ODBC 数据库应用程序编程接口 (API) 与服务器通讯。说白了就是微软作的一个exe程序可以连本机服务器或者其他服务器。

C:>osql -S 服务器名\实例名 -U sa回车会出现下面提示,输入密码。

Password 11111

然后就可以输入sql进行数据库操作了

use master;

go

select * from sysusers;

go

osql此命令行工具来管理sqlserver

1.建立一个新的登陆用户

用windows验证,

sp_grantlogin

例如:

exec sp_grantlogin用户名

SQL Server验证

sp_addlogin

例如:

EXEC sp_addlogin用户名,密码

只有拥有sysadminsecurityadmin角色的用户才可以运行sp_grantloginsp_addlogin这个存储过程。

2.上面的用户名只能登陆服务器,还不能对数据库进行操作。

只有拥有sysadmindb_accessadmindb_owner角色的用户才可以运行sp_grantdbaccess

sp_grantdbaccess

EXEC sp_grantdbaccess window用户名,用户名

3.更改密码

exec sp_password旧密码,新密码,用户名

拥有sysadmin角色的用户可以更改其他用户的密码,一般用户只能修改自己的密码

4.建立数据库

create database test(数据库名)

拥有sysadmindbcreator角色的用户可以执行此操作。

5.备份、恢复数据库

备份

BACKUP DATABASE mydb TO DISK = C:MSDEBackupmydb.bak

BACKUP LOG mydb TO DISK = C:MSDEBackupmydb_log.bak

拥有sysadmindb_ownerdb_backupoperator角色的用户可以执行此操作。

恢复

RESTORE DATABASE mydb FROM DISK =C:MSDEBackupmydb.bak

拥有sysadmindbcreatordbo角色的用户可以执行此操作。

6.附加和分离数据库

分离数据库:可以从当前SQL Server服务器的实例中分离出数据库。

EXEC sp_detach_db mydb

拥有sysadmin角色的用户可以执行此操作。

附加数据库:.mdf,.ldf这两个文件是必须的,下面的语句可以附加这两个文件到当前系统中,产生新的数据库。

EXEC sp_attach_db @dbname = Nmydb,

     @filename1 = NC:MSDEBackupmydb.mdf,

    @filename2 = NC:MSDEBackupmydb.ldf

上面的大写字母N是Unicode字符串常量的前缀。前缀“N”在SQL-92标准中定义。

二. SQL Server 2005

SQL Server 2005 仍完整支持前版的 osql 工具程序来连接到 SQL Server 2005。不过,必须利用 SQL Server 2005 所提供的 osql 版本来执行新的功能。若你使用 SQL Server 2000 所提供的 osql 访问 SQL Server 2005,则只能执行与旧版兼容的功能,而部分新功能将无法使用。

在通过 SqlCmd 登录与执行 T-SQL 语法之前,有相当多的选择参数可用,你可以在命令提示行输入如下的语法:

SqlCmd/?

1 SQL Server 2005中的"SQLCMD"工具使用

1、你可以用SQLCMD执行交互式动作,如:

C:sqlcmd>sqlcmd   1> SELECT name from sys.databases   2> GO
你也可以试着键入如下命令,现实服务器列表:

1>:ServerList  SERVERS: WUYZ 1>
如果想看其他命令的使用,可以键入:Help /?

2、执行SQL脚本文件

你可以在SQLCMD命令上加入参数I来执行SQL脚本文件,例如:

C:sqlcmd>sqlcmd -i test.sql
补充:sqlcmd -s 127.0.0.1 -i g:\1.sql -U sa -P 123456

上面的I选项允许你执行一个脚本文件,另外,你也可以指定O选项,把命令的输出导出到指定文件,当然,我们也可以在代码中指定输出结果,如下:

C:sqlcmd>sqlcmd  1> :out output.txt 2> :r test.sql
在脚本中使用变量

SQLCMD支持可以在脚本中接收用户传入的变量信息,如下面语句:

SET NOCOUNT ON  Select $(Cols) from $(tablename)  GO
上面语句请求2个参数,我们可以通过指定相应的参数信息传给脚本,如下:

C:sqlcmd>sqlcmd -i test.sql -o Output.txt  -v cols="name,object_id,create_date" tablename="sys.objects"
上面语句的用途是:执行TEST.SQL脚本文件,并把输出的信息输出到OUTPUT.TXT文件中,并分别指定了COLS,TABLENAME的参数值

4、在脚本中设置变量的值

除了通过外部传入参数的值外,还可以在内部设置参数的值,如下面例子

e:sqlcmdbackuptemplate.sql use master backup database [$(db)] to disk="$(file)"  e:sqlcmdbackupsingle.sql :setvar db msdb :setvar file c:tempmsdb.bak :r e:sqlcmdbackuptemplate.sql
如果你想知道当然定义了哪些变量,可以使用:listvar命令来显示

主要命令汇总:

:r filename :ServerList :List :Listvar :Error filename | STDOUT | STDERR :Out filename | STDOUT | STDERR :Perftrace filename | STDOUT | STDERR :Connect server[instance] [timeout] [user_name[password] ] :On Error [exit | ignore] :SetVar variable value :Help:XML ON | OFF
主要环境变量汇总:

-a SQLCMDPACKETSIZE -d SQLCMDDBNAME -H SQLCMDWORKSTATION -h SQLCMDHEADERS -l SQLCMDLOGINTIMEOUT -m SQLCMDERRORLEVEL -P SQLCMDPASSWORD -S SQLCMSSERVER -s SQLCMDCOLSEP -t SQLCMDSTATTIMEOUT -U SQLCMDUSER -w SQLCMDCOLWIDTH
2启动 sqlcmd 实用工具并连接到 SQL Server 的默认实例
在“开始”菜单上,单击“运行”。 在“打开”框中,键入 cmd,然后单击“确定”打开命令提示符窗口。

在命令提示符处,键入 sqlcmd。

按 Enter 键。

现在,您已与计算机上运行的默认 SQL Server 实例建立了可信连接。

1> 是 sqlcmd 提示符,可以指定行号。 每按一次 Enter,该数字就会加 1。

若要结束 sqlcmd 会话,请在 sqlcmd 提示符处键入 EXIT。

3启动 sqlcmd 实用工具并连接到 SQL Server 的命名实例
打开命令提示符窗口,键入 sqlcmd -SmyServer\instanceName。 使用计算机名称和要连接的 SQL Server 实例替换 myServer\instanceName。

按 Enter 键。

sqlcmd 提示符 (1>) 指示已连接到指定的 SQL Server 实例。


http://chatgpt.dhexx.cn/article/kPrx1KFj.shtml

相关文章

在ubuntu中使用命令行工具sqlcmd连接sql server数据库

步骤: 首先安装sqlcmd工具 注意:如果你连接的用户是 root用户,命令中带有 sudo 的,sudo都可以酌情去掉,不行再加上 1 安装curl软件包: sudo apt install curl 2 导入公共存储库 GPG 密钥 curl https:…

ssms,新建查询设置字体_如何在SSMS查询编辑器中使用SQLCMD命令

ssms,新建查询设置字体 SQLCMD Mode allows creating, testing, executing SQLCMD commands or scripts in SQL Server Management Studio directly in the query editor. This option is available since SQL Server 2005. SQLCMD模式允许直接在查询编辑器中在SQL Server Man…

使用SQLCMD在SQLServer执行多个脚本

使用SQLCMD在SQLServer执行多个脚本 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序&…

sqlcmd命令执行大的SQL脚本

前言 这两天从服务器导出一个150多MB的脚本文件,导入到我本地的SQLServer数据库中时,直接打开执行提示内存不足的错误,于是google搜索发现微软针对此类情况有不少命令行工具,其中有一款sqlcmd 实用工具,官方文档地址为…

sql安装弹出sqlcmd_使用SQL Server命令行(sqlcmd)

sql安装弹出sqlcmd 介绍 (Introduction) Sqlcmd allows executing queries, T-SQL sentences and SQL Server scripts using the command line. Sqlcmd允许使用命令行执行查询,T-SQL语句和SQL Server脚本。 In the previous article How to work with the command…

SQL Server Management Studio 查询中使用 SQLCMD 模式

从 SQL Server 2005 开始,可以在 SQL Server Management Studio 查询编辑器中使用 SQLCMD 模式执行 TSQL。要在查询编辑器中编写或编辑 SQLCMD 脚本,需要启用 SQLCMD 模式。默认情况下,此模式是关闭的。 若要启用 SQLCMD 模式,请单…

sqlcmd去掉表头和X行受影响

使用sql语句导出到文件 sqlcmd -d test01 -U test01 -P test01 -S testdb.database.windows.net -Q "select * from test01" -o "test01.csv" -s "," -W -h-1 -k1 -d:数据库名 -U 用户名 -P 密码 -S 服务器名 -Q 执行查询后退出 -o 输出…

sqlcmd 命令

SQLCMD的介绍 文章转载自:http://blog.sina.com.cn/s/blog_3eec0ced0100mhm2.html 最近经常用到超过80M *.sql文件的导入问题。 上网找了一下,发现超过80M的文件是不能在查询分析器中执行的。 找了些解决方案,个人感觉最简单的方法就是这个…

cmd执行服务器sql文件命令行,Dos命令提示符下 - 用sqlcmd执行*.sql语句

Dos命令提示符下 - 用sqlcmd执行*.sql语句 1)在Dos命令下执行sqlcmd命令(当然事先需要将sqlcmd增加到环境变量中去), 2)下面白色部分替换为服务器名或计算机名即可 sqlcmd -S (local) -U sa -P 123 -d testdb -i C:\temp\data.sql 参数说明:-S 服务器地址 -U 用户名 -P 密码…

sql安装弹出sqlcmd_SQL Server中SQLCMD实用工具概述

sql安装弹出sqlcmd This article is aimed at helping you understand the sqlcmd utility. Of course, this is a tool most of us have used it at several occasions given that the tool has been around for a decade now. However, to be a solid starting point, this a…

SQLServer知识:sqlcmd用法笔记

今天给大家介绍sqlcmd用法笔记,希望对大家能有所帮助! 1、介绍 sqlcmd是一个 Microsoft Win32 命令提示实用工具,可以通过该命令工具实现SQL语句、脚本的执行,并且可以实现脚本任务的自动化。 2、使用场景 2.1 针对大文件脚本的执…

Sqlcmd使用详解

Sqlcmd实用工具,可以输入 TRANSACT-SQL 语句、 系统过程和脚本文件,通过各种可用模式: 通过命令提示符。在中查询编辑器在 SQLCMD 模式下。在 Windows 脚本文件。在 SQL Server 代理作业的操作系统 (Cmd.exe) 作业步骤。 该实用工具使用 OD…

如何在CMD下写SQL语句

1、WinX->搜索环境变量 2、选择环境变量 3、在系统变量中找到Path,并双击进入 4、选择新建 5、选择安装MySQL的盘,找到bin,并复制路径到刚刚新建的Path中,例如笔者安装的盘是D盘 6、把复制好的路径放到Path中 7、WinR->直…

jquery设置cookie、删除cookie、获取cookie

1.引入两个js 去bootcdn搜索就行。 jquery.js <script src"https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>jquery cookie <script src"https://cdn.bootcdn.net/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"…

关闭浏览器 清除cookie

根据客户要求使用dedecms v5.6版本&#xff0c;发现了一个会员登录的bug&#xff01;看来dedecms也不过如此&#xff01; 首先说说bug所在&#xff1a;在会员登录页面 /member/index.php 登录的时候 有效期如果选择‘即时’&#xff0c;那么就永远也登不上去了&#xff01; 原因…

删除cookie删不掉的问题

文章转自&#xff1a; https://blog.csdn.net/swimming_in_it_/article/details/80290547 https://blog.csdn.net/huanshiwushuang/article/details/70172536 http://php.js.cn/blog/delete-cookie/ 不知道能不能解决你的问题,但是我来说说我的经历&#xff0c;昨天在用Yii…

Javascript清除所有的cookie

只需一个js函数即可&#xff1a; //清除所有cookie函数function clearAllCookie() {var keys document.cookie.match(/[^ ;](?\)/g);if(keys) {for(var i keys.length; i--;)document.cookie keys[i] 0;expires new Date(0).toUTCString()}} 测试的所有代码如下&#xf…

JS创建、获取、删除 cookie 方法

js 创建 cookie 方法 // 没有设置 cookie 过期时间的话&#xff0c;默认是 会话cookie(浏览器关闭时&#xff0c;该cookie失效&#xff0c;被删除) document.cookie cname "" value; // 设置了过期时间的话&#xff0c;在设置的时间段内 cookie 一直存在有效&…

浏览器cookie怎么清除,彻底清除上网痕迹只需这几步

很多用户对cookie不是很了解&#xff0c;我们使用windows系统电脑浏览各个网站的时候都会产生cookie&#xff0c;cookie记录用户名、密码等信息。显而易见的是&#xff0c;cookie和网络隐私安全息息相关&#xff0c;有些恶意网站会利用cookie来侵犯用户隐私安全。因此清理cooki…

vcruntime140.dll发生访问冲突

0x6EF538DC (vcruntime140.dll)处引发的异常: 0xC0000005: 写入位置0x00000000 时发生访问冲突 发生以上问题&#xff0c;有可能为内存不足引起&#xff0c;可尝试分配更大内存。 在本次报错中&#xff0c;我们将1024*1024*8的BUFFER_SIZE扩大为1024*1024*20&#xff0c;成功解…