HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)转自msdn 本页概要 何为 Osql? 如何使用 Osql? 交互式输入 Transact-SQL 语句 提交 Osql 作业 连接到 SQL Server 桌面引擎 (MSDE 2000) 管理 MSDE 2000 新建登录帐户 访问数据库 如何更改登录密码 创建数据库 备份和还原数据库 附加和分离数据库参考这篇文章中的信息适用于:概要“SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 2000 嵌入的程序与它交互。随 MSDE 2000 提供的唯一工具是 osql 。可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQL\Binn 文件夹中。本文重点讨论如何通过使用 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:\Queries\myQueries.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 servername\instancename
如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称: [Shared Memory]SQL Server does not exist or access denied. [Shared Memory]ConnectionOpen (Connect()). 如果您成功连接到了该服务器,就会出现下面的提示:
1>
此提示表示 osql 已启动。现在,您可以交互输入 Transact-SQL 语句,运行结果将出现在命令提示行上。 回到顶端管理 MSDE 2000本文下面的部分将向您简单介绍管理 MSDE 2000 时最常用的 Transact-SQL 命令。
新建登录帐户未提供有效登录 id 的用户无法连接到 SQL Server。可调用 sp_grantlogin 存储过程来授权一个 Microsoft Windows 网络帐户(一个组或者一个用户帐户),使之作为一个使用 Windows 身份验证连接到 SQL Server 实例的 SQL Server 登录帐户。下面的示例允许一个名为 Corporate\Test 的 Windows NT 用户连接到 SQL Server 实例: EXEC sp_grantlogin ''''Corporate\Test''''
只有 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 存储过程为新用户向当前数据库中添加一个安全帐户。下面的示例为一个名叫 Corporate\BobJ 的 Microsoft Windows NT 的用户向当前数据库添加了一个帐户,并将其命名为“Bob”:
EXEC sp_grantdbaccess ''''Corporate\BobJ'''', ''''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”主题。
如何更改登录密码如要修改登录密码,请使用 [1] [2] 下一页 |