下面简介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 忽视同一行中这些关键字后输入的任何内容。
















