mysql有osql嘛_OSQL语句的使用

概要“SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 2000 嵌入的程序与它交互。随 MSDE 2000 提供的唯一工具是 osql 。可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQLBinn 文件夹中。本文重点讨论如何通过使用 osql 工具管理 MSDE 2000。

回到顶端

何为 Osql?osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。osql 工具使用 ODBC 数据库应用程序编程接口 (API) 与服务器通讯。

回到顶端

如何使用 Osql?一般情况下,可以这样使用 osql 工具:• 用户通过与使用命令提示符时相似的方式交互输入 Transact-SQL 语句。 • 用户提交 osql 作业,方法是: • 指定单个要运行的 Transact-SQL 语句。 - 或 -

• 将该工具指向一个包含要运行的 Transact-SQL 语句的脚本文件。

交互式输入 Transact-SQL 语句如要显示 osql 工具的区分大小写的选项列表,请在命令提示符下键入如下内容,然后按 ENTER 键:

osql -?

如想了解关于 osql 工具的每一选项的更多信息,请参见“SQL Server 联机图书”中的“osql Utility”主题。

如要交互输入 Transact-SQL 语句,请按照下列步骤操作:

1. 确认 MSDE 2000 正在运行。 2. 连接到 MSDE 2000(有关更多信息,请参见标题为“连接到 SQL Server 桌面引擎 (MSDE 2000)”的部分)。 3. 在 osql 命令提示符下,键入 Transact-SQL 语句,然后按 ENTER 键。 当您在输入的每一行后按 ENTER 键时,osql 将缓存该命令行上的语句。

• 如要运行当前缓存的语句,请键入“Go”,接着按 ENTER 键。

• 如要运行一批 Transact-SQL 语句,请分别在单独的行上输入每一个 Transact-SQL 命令。然后,在最后一行上键入“Go”以表示批处理命令的结束并运行当前缓存的语句。

运行结果出现在控制台窗口。

4. 当您在输入的每一行后按 ENTER 键时,如想从 osql 退出,请键入 QUIT 或 EXIT,并按 ENTER 键。

提交 Osql 作业一般情况下,您可以用两种方法之一提交 osql 作业。您可以: • 指定单个 Transact-SQL 语句。

- 或 -

• 将该工具指向一个脚本文件。 下面将详细介绍每一种方法。

指定单个 Transact-SQL 语句

如要针对 MSDE 2000 的本地默认实例运行 Transact-SQL,请键入与下面这一个类似的命令:

osql -E -q "Transact-SQL statement"

其中

• -E 表示使用 Microsoft Windows NT 身份验证。

-而-

• -q 表示运行 Transact-SQL 语句,但是在查询结束时不退出 osql。 如要运行 Transact-SQL 语句并退出 osql,请使用 -Q 参数来代替 -q。

将该工具指向一个脚本文件

如要将该工具指向一个脚本文件,请按照下列步骤操作: 1. 创建一个包含一批 Transact-SQL 语句的脚本文件(如 myQueries.sql)。 2. 打开命令提示符,键入与下面类似的一个命令,然后按 ENTER 键:

osql -E -i input_file

其中

input_file 是脚本文件及其完整路径。例如,如果脚本文件 myQueries.sql 在 C:Queries 文件夹中,请将参数 input_file 替换为 C:QueriesmyQueries.sql。

该脚本文件的运行结果将出现在控制台窗口中。如果您想将运行结果定向到一个文件,请向上述命令中添加 -ooutput_file 参数。例如:

osql -E -i input_file -o output_file

其中

output_file 是输出文件及其完整路径。

如想消除输出结果中的编号和提示符号,请向上述命令中添加 -n 选项。例如:

osql -E -i input_file -o output_file -n

回到顶端

连接到 SQL Server 桌面引擎 (MSDE 2000)如要连接到 MSDE 2000,请按照下列步骤操作: 1. 确认 MSDE 2000 正在运行。 2. 在承载您要连接的 MSDE 2000 实例的计算机上打开一个命令窗口。 3. 键入下面的命令,然后按 ENTER 键:

osql -E

这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。

如要连接到 MSDE 2000 的一个命名实例,请键入:

osql -E -S servernameinstancename

如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称: [Shared Memory]SQL Server does not exist or access denied.[Shared Memory]ConnectionOpen (Connect()). 如果您成功连接到了该服务器,就会出现下面的提示:

1>此提示表示 osql 已启动。现在,您可以交互输入 Transact-SQL 语句,运行结果将出现在命令提示行上。

osql 的使用方法1.连接数据库(sa 为连接的用户名,714 是密码)     osql -U sa -P 714      osql -E (与信任的用户连接)

2.执行sql脚本文件     osql -U sa -P 714 -i file.sql     osql -E file.sql

3.备份数据库(test是我要备份的数据库名,将其备份到C盘,并命名为:mydb.bak)     BACKUP DATABASE test TO DISK = 'C:\mydb.bak'

4.将一个名为 test 的数据库从备份文件 C:\Mydb.bak 中还原     RESTORE DATABASE mydb FROM DISK ='C:mydb.bak'

5.将一个名为 mydb 的数据库从 SQL Server 的当前实例中分离出来     EXEC sp_detach_db 'mydb'

6.将来自名为 mydb 的数据库的两个文件附加到 SQL Server     EXEC sp_attach_db @dbname = N'mydb',     @filename1 = N'C:\mydb.mdf',     @filename2 = N'C:\mydb.ldf'

回到顶端

管理 MSDE 2000本文下面的部分将向您简单介绍管理 MSDE 2000 时最常用的 Transact-SQL 命令。

新建登录帐户未提供有效登录 id 的用户无法连接到 SQL Server。可调用 sp_grantlogin 存储过程来授权一个 Microsoft Windows 网络帐户(一个组或者一个用户帐户),使之作为一个使用 Windows 身份验证连接到 SQL Server 实例的 SQL Server 登录帐户。下面的示例允许一个名为 CorporateTest 的 Windows NT 用户连接到 SQL Server 实例: EXEC sp_grantlogin 'CorporateTest'只有 sysadmin 或 securityadmin 固定服务器角色的成员可以运行 sp_grantlogin 存储过程。有关这些角色的更多信息,请参见“SQL Server 联机图书”中“Roles, SQL Server Architecture”主题。

有关 sp_grantlogin 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_grantlogin, Transact-SQL Reference”主题。

您可以使用 sp_addlogin 存储过程创建一个使用 SQL Server 身份验证建立 SQL Server 连接的新登录帐户。下面的示例为一个名叫“test”的用户创建了一个密码为“hello”的 SQL Server 登录: EXEC sp_addlogin 'test','hello'只有 sysadmin 和 securityadmin 固定服务器角色的成员可以运行 sp_addlogin 存储过程。有关 sp_addlogin 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_addlogin, Transact-SQL Reference”主题。

访问数据库在用户连接到 SQL Server 的一个实例后,他们只有在 dbo 授予他们对数据库的访问权后才可以在数据库中执行活动。您可以使用 sp_grantdbaccess 存储过程为新用户向当前数据库中添加一个安全帐户。下面的示例为一个名叫 CorporateBobJ 的 Microsoft Windows NT 的用户向当前数据库添加了一个帐户,并将其命名为“Bob”:

EXEC sp_grantdbaccess 'CorporateBobJ', 'Bob'

sp_adduser 存储过程执行与 sp_grantdbaccess 存储过程相同的功能。因为包括 sp_adduser 存储过程是为了向后兼容,所以 Microsoft 建议您使用 sp_grantdbacess 存储过程。

只有 sysadmin 固定服务器角色、db_accessadmin 和 db_owner 固定数据库角色的成员才可以运行 sp_grantdbaccess 存储过程。有关 sp_grantdbaccess 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_grantdbaccess, Transact-SQL Reference”主题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值