`

HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)(转)

阅读更多
<script type="text/javascript"> var sectionFilter = "type != 'notice' && type != 'securedata' && type != 'querywords'"; var tocArrow = "/library/images/support/kbgraphics/public/en-us/downarrow.gif"; var depthLimit = 10; var depth3Limit = 10; var depth4Limit = 5; var depth5Limit = 3; var tocEntryMinimum = 1; </script><script src="/common/script/gsfx/kbtoc.js?8" type="text/javascript"></script><noscript><style>.toc{display: none;}</style></noscript>

概要

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

回到顶端

何为 Osql?

<script type="text/javascript">loadTOCNode(2, 'summary');</script>osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。osql 工具使用 ODBC 数据库应用程序编程接口 (API) 与服务器通讯。

回到顶端

如何使用 Osql?

<script type="text/javascript">loadTOCNode(2, 'summary');</script> 一般情况下,可以这样使用 osql 工具:
用户通过与使用命令提示符时相似的方式交互输入 Transact-SQL 语句。
用户提交 osql 作业,方法是:
指定单个要运行的 Transact-SQL 语句。 - 或 -

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

交互式输入 Transact-SQL 语句

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 如要显示 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 作业

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 一般情况下,您可以用两种方法之一提交 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)

<script type="text/javascript">loadTOCNode(2, 'summary');</script> 如要连接到 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

<script type="text/javascript">loadTOCNode(2, 'summary');</script> 本文下面的部分将向您简单介绍管理 MSDE 2000 时最常用的 Transact-SQL 命令。

新建登录帐户

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 未提供有效登录 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”主题。

访问数据库

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 在用户连接到 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_accessadmindb_owner 固定数据库角色的成员才可以运行 sp_grantdbaccess 存储过程。有关 sp_grantdbaccess 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_grantdbaccess, Transact-SQL Reference”主题。

如何更改登录密码

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 如要修改登录密码,请使用 sp_password 存储过程。下面的示例将“test”登录的密码从“ok”更改为“hello”:
EXEC sp_password 'ok', 'hello','test'

执行权限默认授予正在更改其自己的登录密码的用户的公共角色。只有 sysadmin 角色才可以为其他用户更改登录密码。有关 sp_password 存储过程的更多信息,请参见“SQL Server 联机图书中”的“sp_password, Transact-SQL Reference”主题。

创建数据库

<script type="text/javascript">loadTOCNode(3, 'summary');</script> MSDE 2000 数据库由一个表的集合组成,这些表中包含数据和其他对象,如视图、索引、存储过程和事件触发器,这些内容定义为支持对数据执行的各种活动。如要创建 MSDE 2000 数据库,请使用“CREATE DATABASE”Transact-SQL 命令。有关 创建数据库的更多信息,请参见“SQL Server 联机图书”中的“Creating a Database”主题。

下面的示例创建了一个名为 Test 的数据库。因为没有向该命令行添加其他参数,所以 Test 数据库将与 model 数据库大小相同:
CREATE DATABASE Test
CREATE DATABASE 权限默认授予 sysadmin dbcreator 固定服务器角色的成员。有关“CREATE DATABASE”命令的更多信息,请参见“SQL Server 联机图书”中的“CREATE DATABASE, Transact-SQL Reference”主题。

如要创建一个新的数据库对象,请使用“CREATE Transact-SQL”命令。例如,要新建一个表,请使用“CREATE TABLE”Transact-SQL 命令。有关更多信息,请参考“SQL Server 联机图书”。

备份和还原数据库

<script type="text/javascript">loadTOCNode(3, 'summary');</script> SQL Server 的备份和还原组件为保护存储在 SQL Server 数据库中的关键数据提供了一个重要的保护措施。

通过适当的规划,您可以从许多故障中恢复,包括:
存储媒体故障。
用户错误。
服务器的永久丢失。
另外,备份和还原数据库还有其他方面的用途,例如将数据库从一个服务器复制到另一个服务器。通过从一台计算机上备份一个数据库和将此数据库还原到另一台计算机上,您可以快速方便地制作数据库的副本。

有关数据库备份和还原操作方面的更多信息,请参见“SQL Server 联机图书”中的“Backing Up and Restoring Databases”主题。

下面的示例为一个名为 mydb的数据库执行完全数据库备份,将此备份命名为 Mydb.bak,然后将此备份存储在 C:\Msde\Backup 文件夹中。

BACKUP DATABASE mydb TO DISK = 'C:\MSDE\Backup\mydb.bak'

下面的示例为一个名为 mydb 的数据库执行日志备份,将此备份命名为 Mydb_log.bak,然后将其存储在 C:\Msde\Backup 文件夹中:

BACKUP LOG mydb TO DISK = 'C:\MSDE\Backup\mydb_log.bak'

BACKUP DATABASE 和 BACKUP LOG 权限默认授予 sysadmin 固定服务器角色以及 db_ownerdb_backupoperator 固定数据库角色的成员。有关 BACKUP 语句的更多信息,请参见“SQL Server 联机图书”中的“BACKUP, Transact-SQL Reference”主题。


MSDE 包括 SQL Server 代理程序服务用以管理安排的作业。例如,您可以创建并安排一个 Transact-SQL 备份作业。SQL Server 代理程序服务管理作业安排。如想查看演示如何在 MSDE 2000 中使用各种存储过程执行和安排备份的示例代码,请参见下面的 Microsoft 知识库文章:
241397 (http://support.microsoft.com/kb/241397/EN-US/) HOWTO:Back Up a Microsoft Data Engine Database with Transact-SQL
有关 SQL Server 代理程序服务的更多信息,请参见“SQL Server 联机图书”中的“SQL Server Agent Service”主题。

备份数据库只是全部过程的一半。知道如何从备份中还原数据库也非常重要。下面的示例将一个名为 mydb 的数据库从备份文件 C:\Msde\Backup\Mydb.bak 中还原:

RESTORE DATABASE mydb FROM DISK ='C:\MSDE\Backup\mydb.bak'
如果将要还原的数据库不存在,则用户必须具有 CREATE DATABASE 权限才可以运行 RESTORE 语句。如果该数据库存在,则 RESTORE 权限默认授予 sysadmin dbcreator 固定服务器角色的成员,以及该数据库的所有者 (dbo)。有关 RESTORE 语句的更多信息,请参见“SQL Server 联机图书”中的“RESTORE, Transact-SQL Reference”主题。

附加和分离数据库

<script type="text/javascript">loadTOCNode(3, 'summary');</script> 可以分离一个数据库的数据和事务日志文件然后将其重新附加到另一个服务器,或重新附加到同一服务器。分离一个数据库虽然从 SQL Server 中删除了该数据库,但构成该数据库的数据和事务日志文件没有任何改动。 然后您可以使用这些数据和事务日志文件将该数据库附加到任何 SQL Server 实例,其中包括从中分离该数据库的那一服务器。这使该数据库能够以与在被分离时完全相同的状态供在其他位置使用。有关更多信息,请参见 “SQL Server 联机图书”中的“Attaching and Detaching a Database”主题。

下面的示例将一个名为 mydb 的数据库从 SQL Server 的当前实例中分离出来:
EXEC sp_detach_db 'mydb'
只有 sysadmin 固定服务器角色的成员才可以运行 sp_detach_db 存储过程。有关 sp_detach_db 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_detach_db, Transact-SQL Reference”主题。

下面的示例将来自名为 mydb 的数据库的两个文件附加到 SQL Server 的当前实例:
EXEC sp_attach_db @dbname = N'mydb',
@filename1 = N'C:\MSDE\Backup\mydb.mdf',
@filename2 = N'C:\MSDE\Backup\mydb.ldf'
大写字母“N”用来给“Unicode 字符串”常量添加前缀。“N”前缀代表 SQL-92 标准中的区域语言。有关详细信息,请参见 Microsoft 知识库中的以下文章:
239530 (http://support.microsoft.com/kb/239530/EN-US/) INF:Unicode String Constants in SQL Server Require N Prefix
只有 sysadmin dbcreator 固定服务器角色的成员才可以运行此过程。有关 sp_attach_db 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_attach_db, Transact-SQL Reference”主题。 下面关于 osql 工具使用方面的信息适用于所有版本的 Microsoft SQL Server 2000。

回到顶端

参考

<script type="text/javascript">loadTOCNode(1, 'references');</script>
如要下载“SQL Server 2000 联机图书”的更新版本,请访问下面的 Microsoft Web 站点:
http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp (http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp)
如要下载“SQL Server 联机图书”的 SQL Server 7.0 版,请访问下面的 Microsoft Web 站点:
http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe (http://download.microsoft.com/download/sql70/file/2/win98/en-us/sqlbol.exe)
有关 MSDE 2000 的更多信息,请参见下列 Microsoft 知识库文章:
319930 (http://support.microsoft.com/kb/319930/EN-US/) HOW TO:Connect to Microsoft Desktop Engine
241397 (http://support.microsoft.com/kb/241397/EN-US/) HOWTO:Back Up a Microsoft Desktop Engine Database with Transact-SQL

回到顶端


这篇文章中的信息适用于:
Microsoft SQL Server 2000 Desktop Engine (Windows)

回到顶端

关键字: 
kbdownload kbhowto kbhowtomaster KB325003

回到顶端

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、
分享到:
评论

相关推荐

    使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)应用介绍

    概要 “SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 2000 嵌入的程序与它交互。 MSDE 2000 提供的唯一工具是 Osql 。可执行文件 Sql.exe 在 MSDE 2000 ...

    sql server 导入超大SQL脚本文件

    SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。...osql 工具是 SQL Server 提供的一个非常有用的工具,可以帮助我们快速导入超大 SQL 脚本文件和执行 SQL 语句。

    数据库【MSDE】管理工具

    然而,与完整版SQL Server不同的是,MSDE不包含企业管理器(SQL Server Management Studio,SSMS)这样的全面管理工具,这使得对数据库的管理变得相对复杂。 为了管理MSDE,我们可以采取以下几种方法: 1. **...

    清除MSDE2000超级管理管理员sa密码

    在Windows操作系统中,我们可以利用osql工具或者SQLCMD工具,这两者都是SQL Server的命令行接口,允许用户执行SQL语句和管理数据库。 首先,确保你已经安装了MSDE 2000,并且osql或SQLCMD工具已经配置好。如果未...

    msde管理工具

    2. **SQL Server Management Studio Express (SSMSE)**: 对于较新的MSDE版本,可以使用SSMSE,它是免费的轻量级数据库管理工具,提供了类似于完整版SQL Server的管理界面。 3. **命令行工具**: 包括`sqlcmd`和`osql`...

    利用Osql实现SQL Server数据库的自动安装注册.pdf

    ## Osql工具和SQL Server数据库 - **Osql工具**:Osql是一个命令行查询工具,用于执行Transact-SQL语句。它是SQL Server自带的客户端工具之一,能够用于数据库的自动安装和注册操作。 - **SQL Server数据库**:SQL ...

    用osql 执行sql角本文件生成数据库

    "用osql执行sql脚本文件生成数据库"这个主题涉及到的是如何利用osql工具来创建和管理数据库,这在SQL Server环境中特别常见。osql(Open SQL Console)是微软提供的一种命令行工具,它允许用户通过SQL语句与SQL ...

    OSQL执行Sql文件

    OSQL(全称为Open SQL Console)是Microsoft SQL Server的一个命令行工具,允许用户与SQL Server数据库进行交互,执行SQL脚本,以及进行数据库管理和维护。 首先,我们来详细了解一下OSQL。OSQL是SQL Server早期...

    Microsoft Sqlserver 2000 查询分析器、事件探查器、osql、isql、bcp 绿色迷你便携版

    本客户端集合 基于 Sqlserver 2000 企业版 最新的 V8.0.2282 制作,绿色 便携 包含常用的客户端工具: bcp.exe isql.exe isqlw.exe osql.exe profiler.exe 已经集成了 VC7,VC++7运行库;且包含了Sqlserver ...

    Microsoft SQL Server 2005 命令行查询工具

    用户使用 SQLCMD 实用工具可以连接和发送 Transact-SQL 批以及 SQL Server 7.0、SQL Server 2000 和 SQL Server 2005 实例中的输出行集信息。SQLCMD 可以替换 ISQL 和 OSQL,但也可以与安装了 ISQL 或 OSQL 的安装...

    sqlserver 2000从哪里看版本

    ### SQL Server 2000 版本查看方法与版本号解析 在处理数据库系统时,了解当前安装的 SQL Server 版本是非常重要的,尤其是在进行兼容性检查、更新或者解决问题时。本文将详细介绍如何查看 SQL Server 2000 的版本...

    打包OSQL和SQLCMD 实用工具

    Microsoft SQL Server 2005 OSQL和SQLCMD 实用工具。您可以使用 sqlcmd 实用工具(Microsoft Win32 命令提示实用工具)来运行临时的 Transact-SQL 语句和脚本

    SQL Server 2000数据库管理.ppt

    SQL Server 2000的核心组件包括服务管理器、企业管理器、osql实用工具和SQL查询分析器。 - 服务管理器:负责启动、停止和暂停SQL Server的各种组件,确保数据库服务的正常运行。 - 企业管理器:图形化界面工具,...

    SQL Server 2005 管理及开发工具.pdf

    ### SQL Server 2005 管理及开发工具概览 #### 一、SQL Server 2005 管理工具整合 SQL Server 2005 在工具整合方面进行了重大改进,旨在提高数据库管理员(DBA)和开发者的效率。其中最显著的变化之一是将多种工具...

    SQL Server 2008 Binn 原生文件

    2. **管理工具**:例如`osql.exe`(旧版的命令行查询工具)和`sqlcmd.exe`,它们允许用户通过命令行界面与SQL Server交互。 3. **配置工具**:如`sqlbrowser.exe`,它是SQL Server Browser服务的执行文件,提供...

    SQL Server编程工具及简单Transact-SQL语言 第二讲

    - **Osql (ODBC 驱动)**: 适用于 SQL Server 7 和 2000 版本。 - **Isql (DB-Library 驱动)**: 适用于 SQL Server 6.5,但不支持 2000 版本的一些特性。 例如使用 `go` 命令来分隔命令块: ``` use adventureworks ...

    MSDE数据库手动修改密码

    MSDE(Microsoft SQL Server Desktop Engine)是微软推出的一个轻量级数据库引擎,它基于SQL Server 2000,主要用于小型应用程序和开发环境。在没有安装完整的SQL Server管理工具的情况下,如果你需要修改MSDE数据库...

    ASP.NET2.0数据库入门之SQL Server.doc

    SQL Server Express不同于完整版本,它仅包含数据库引擎,没有图形化管理工具,但可以通过Visual Studio或Visual Web Developer进行数据库开发。SSE仅支持本地连接,适用于个人网站或学习用途。与SQL Server 2000的...

    sqlserver数据库构建及初始化程序

    在IT行业中,数据库是存储和管理数据的核心工具,SQL Server作为微软公司开发的一款关系型数据库管理系统,被广泛应用于企业级的数据存储与管理。本话题主要围绕"sqlserver数据库构建及初始化程序",将深入探讨如何...

Global site tag (gtag.js) - Google Analytics