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

一 操作实例

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

图解sql server 命令行工具sqlcmd的使用_第1张图片

 

以sa登录;

 

打个命令,没反映;

 

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

图解sql server 命令行工具sqlcmd的使用_第2张图片

 

查看帮助;

图解sql server 命令行工具sqlcmd的使用_第3张图片

 

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

图解sql server 命令行工具sqlcmd的使用_第4张图片

 

要加上go,才行;

图解sql server 命令行工具sqlcmd的使用_第5张图片

 

 

图解sql server 命令行工具sqlcmd的使用_第6张图片

 

执行sql语句;

图解sql server 命令行工具sqlcmd的使用_第7张图片

 

 

图解sql server 命令行工具sqlcmd的使用_第8张图片

 

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

图解sql server 命令行工具sqlcmd的使用_第9张图片

 

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

图解sql server 命令行工具sqlcmd的使用_第10张图片

 

创建表;

图解sql server 命令行工具sqlcmd的使用_第11张图片

 

插入数据;

 

 

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

图解sql server 命令行工具sqlcmd的使用_第12张图片

 

二 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 实例。

你可能感兴趣的:(原创教程,数据库)