当客户主机那台电脑上面安装的是MSDE时,万一客户忘掉了MSDE中sa的登录密码时怎么办呢?我们大多会想到重装MSDE,这是其中一种解决办法,但是重装比较麻烦,还要搜索与备份mdf和ldf文件等,有没有一种更简单的方法来找回或者清空MSDE中sa的密码呢?答案是肯定的。
“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 语句的脚本文件。
了解了这些之后,我们就可以利用osql这个命令提示符工具来进行相关的操作。
方法很简单,Follow me:
连接到 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 语句,运行结果将出现在命令提示行上。
实际操作方法和效果如下:
1、在'开始'-'运行‘里面输入CMD,回车
2、然后输入osql -E 回车,注意横线前面有空格
1》sp_password null,'password','sa' 回车 注意都是英文下的单引号,
注意:确保将“password”替换为你的密码,如果你要让密码为空的话,这里保留两个单引号即可。
这里是将密码改为空,也就是不要密码(不推荐)。
2》go 回车
呵呵,大功告成!
声明:此操作有风险