下面简介SQL Server 命令行工具 isql 和 osql。

isql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件;并且使用 DB-Library 与 SQL Server 2000 进行通讯。

osql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件。该实用工具通过 ODBC 与服务器通讯。

sqlcmd 用于sql server 2008

登录

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

Password 11111

C:\Users\Administrator>sqlcmd -S .\todd -U sa
密码:
1> exit
C:\Users\Administrator>sqlcmd -S .\todd -U sa -P newsoft
1>

然后就可以输入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

与Oracle相关语句对比

◆ 察看数据库 pubs 中的对象:
USE pubs
EXEC sp_help
GO
相当于 Oracle 的 SELECT table_name FROM user_objects;

◆ 察看数据库 pubs 中的表 employee 结构:
USE pubs
EXEC sp_help employee
GO
相当于 Oracle 的 SQL*PLUS 中的 DESC employees

◆ SELECT 语句:
USE pubs
SELECT * FROM employee
GO

◆ 当使用单引号分隔一个包括嵌入单引号的字符常量时,用两个单引号表示嵌入单引号,例如:
SELECT  'O''Leary'
GO

◆ 用7.个双引号表示嵌入双引号,例如:
SELECT  'O"Leary'
GO

◆ SQL Server 数据库信息查询
use master
exec sp_helpdb pubs
GO
或:
use master
SELECT name, dbid FROM sysdatabases
GO

◆ 查数据库对象 (相当于 Oracle 的 SELECT * FROM user_tables;)
USE pubs
EXEC sp_help
GO

use master
SELECT name, id FROM pubs.dbo.sysobjects WHERE type='U'
GO

◆ 查字段 (相当于 Oracle 的 SQL*PLUS 中的 DESC employees )
USE pubs
EXEC sp_help employee
GO

◆ 查看指定
USE pubs
SELECT name, id, xtype, length
FROM syscolumns WHERE id=277576027
GO

USE pubs
SELECT *
FROM syscolumns WHERE id=277576027
GO

◆ 查看数据类型名字的定义:
SELECT name, xtype
FROM systypes
GO

◆ 从命令行启动“查询分析器”
>isqlw

◆  isql命令 描述
 GO   执行最后一个 GO 命令之后输入的所有语句。
 RESET   清除已输入的所有语句。
 ED   调用编辑器。
 !!   command 执行操作系统命令。
 QUIT 或 EXIT( ) 退出 isql。
 CTRL+C   不退出 isql 而结束查询。
仅当命令终止符 GO(默认)、RESET、ED、!!、EXIT、QUIT 和 CTRL+C 出现在一行的开始(紧跟 isql 提示符)时才可以被识别。isql 忽视同一行中这些关键字后输入的任何内容。